- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有 350 万条记录(只读)实际存储在 MySQL 数据库中,出于性能原因我想将其提取到 Redis。实际上,我已经设法将这样的东西存储到 Redis 中:
1 {"type":"Country","slug":"albania","name_fr":"Albanie","name_en":"Albania"}
2 {"type":"Country","slug":"armenia","name_fr":"Arménie","name_en":"Armenia"}
...
我在这里使用的 key 是遗留的 MySQL id,因此使用一些 Ruby 胶水,我可以尽可能少地破坏这个现有应用程序(这是一个严重的问题)。
现在的问题是当我需要在值部分内对关键字“亚美尼亚”执行搜索时。似乎只有两条出路:
要么我乘以 Redis 索引:
我要么使用 sunspot,要么使用一些全文搜索引擎(不幸的是,我实际上使用的是 ThinkingSphinx,它与 MySQL 的联系太紧密了:-(
那么,你会怎么做?您认为将单个表从 MySQL 迁移到 Redis 是个好主意吗?我担心那些巨大的 Redis 键/值可能占用 16GB RAM 服务器的内存占用空间。
对类似的 Redis 使用有任何反馈吗?
最佳答案
在开始给出真正的答案之前,我想说明一下,我认为您没有理由在这里使用 Redis。根据您尝试执行的用例类型,听起来像是 elasticsearch会更适合你。
也就是说,如果您只想在 JSON 中搜索几个不同的字段,您有两个选择:
field_key -> list_of_ids
的辅助索引(在你的例子中,“Armenia” -> 1)。同样,我认为两者都不适合您,因为听起来 Redis 对您来说不是一个不错的选择,但如果您必须这样做,它们应该会起作用。
关于Redis全文搜索: reverse indexing or sunspot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17133866/
我正在使用 Sunspot用于搜索和使用 Geocoder对于地址,然后用于计算距离,Geokit-rails3 . class Product :lat, :longitude => :lng
我正在将 Rails 应用程序从使用 act_as_solr 转换为 sunspot。 该应用程序使用在acts_as_solr 中公开的solr 中的字段搜索功能。你可以给它一个这样的查询字符串:
以下查询就像一个魅力: @styles = Style.search { fulltext params[:q] } 我遇到的问题是分页。这是带有分页的相同查询: @styles = Style.se
我的应用程序通常需要 20 分钟才能重新编制整个索引。有一张小表,里面有几条我想重新索引的记录。我想节省时间,所以我运行了命令 rake sunspot:solr:reindex[500,Deal]
我在 Ubuntu 10.4 LTS 和 mongoid 上运行 Rails 3.1。我还通过this guide安装tomcat6和solr 。一切都很好,但我不确定我是否已将其配置为最佳。我在 s
环境:Rails 3.0.1 Ruby 1.8.7 MySQL 5.5.16 社区服务器...Jdk 1.6 gem 'sunspot_rails' gem 'sunspot_solr' 型号: cl
我正在尝试在 64 位 debian 上使用 sun sunsspots,但无论我做什么,我都无处可去。我已经搜索了各种错误,但随着实际的太阳黑子论坛的关闭,我没有运气。 我尝试将 port= tty
我的 sunspot 和 solr 有问题。在开发中它像魅力一样工作但在生产中我从我的 Rails 生产日志中得到以下错误: RSolr::RequestError(Solr 响应:未定义字段类型):
我在生产中启动 Sunspot Solr 时遇到了困难。当我尝试使用 RAILS_ENV=生产包 exec rake sunspot:solr:run 在 Rails 应用程序的前台运行 Sunspo
我计划使用 Heroku、Sunspot 和 WebSolr 运行我的应用程序并且需要自动建议功能?那里有教程可以帮助您吗?当涉及到 Sunspot 时,每个人都在使用什么进行自动完成或自动建议? 最
我现在需要将我的应用程序部署到生产环境,该应用程序使用 sunspot 进行搜索。 我看到一些消息来源说不要在生产环境中运行 sunspot solr 实例,而是在 tomcat 上设置,但其他人说您
如果我尝试在文本字段上使用 order_by,我会得到:“没有配置名称标题的字段”。 适用于“字符串”类型的字段。所以我最终使用了如下解决方法: searchable do text :title
我想用 sunspot 重现以下原始 solr 查询 q=exact_term_text:foo OR term_textv:foo* OR alternate_text:bar* 但我无法通过标准的
我有 350 万条记录(只读)实际存储在 MySQL 数据库中,出于性能原因我想将其提取到 Redis。实际上,我已经设法将这样的东西存储到 Redis 中: 1 {"type":"Country",
我们正在使用 sunspot-rails 连接到 Heroku 上的 websolr。 Websolr 提供授权功能来保护读取和更新调用。此授权功能要求在每次调用 SOLR 时都存在三个额外的 htt
我正在使用 sunspot solr 进行自由文本搜索。我正在尝试从交易者模型中搜索交易者。这是可搜索的 block searchable do text :name text :postco
如何在 SunSpot Solr 中正确搜索多个模型? 型材模型 has_one :match searchable do string :country string
我对 Solr 索引机制感到困惑。也许有人可以对此有所了解。 所以,我们有 2 个 rake 命令:rake sunspot:solr:index和 rake sunspot:solr:reindex
我正在使用 Sunspot 对 Rails 项目中的多个模型进行索引和搜索,我需要根据模型的 HABTM 关联限制结果 Department模型。这是因为用户可能无权查看所有部门的记录,因此不应返回这
我按照说明安装了 sunspot_rails gem 当我做 bundle exec rake sunspot:solr:start 它告诉我 This command is not supporte
我是一名优秀的程序员,十分优秀!