【问题标题】:Using Solr with frequently updated data将 Solr 与经常更新的数据一起使用
【发布时间】:2012-08-02 15:43:57
【问题描述】:

我有一个想要使用 Solr 实现的站点搜索。不幸的是,我的 MySQL 数据库中还有很多来自 cron 作业的经常更新的动态数据,我也希望这些数据是可搜索的。

我会自动假设在 Solr 中不断更新记录不是一个好主意,那么是否有一个可行的解决方案可以为我提供 Solr 的文本搜索功能以及能够根据这些频繁更新的字段进行过滤?

【问题讨论】:

  • 我刚刚找到了sphinxsearch.com,它可能满足我的要求。
  • Elasticsearch (elasticsearch.org) 从头开始​​构建以支持这一点。由 Lucene(如 Solr)和一个快速增长的社区提供支持,尽管还没有 Solr 的那么大。一年前我从 Solr 切换到 ES,从那以后就再也没有回头。
  • @Ryall - Sphinx 没有 Solr 的一半强大、灵活或可扩展。你选择 solr 是正确的选择。不要转向狮身人面像。
  • 问题是,在这种特殊情况下,除了基本的文本搜索之外,我不需要任何东西。我选择 Solr 的原因是熟悉,但很高兴知道我在这里学到的信息 - 所以谢谢大家。我选择了 Sphinx,因为它非常容易设置、重量轻,并且满足我对这个项目的所有要求。

标签: search solr


【解决方案1】:

我认为这取决于“频繁”是什么意思以及您容忍的 Solr-lag 有多长。

就我而言,我每分钟更新 Solr 两次,效果很好。 ..基于一个每分钟有数百次更新的 MySql 数据库。

在这种情况下,重要的是不要对每个 Solr 更新/提交运行优化。最好每 n 次运行一次优化。 所以最后,所有新的 MySQL 东西都将在 Solr 中以 max 可见。 30 秒。延迟。

这是否可以接受取决于您的情况。

【讨论】:

  • +1 确切地说,跟踪所有已更改的内容并每 N 分钟/秒更新一次(已更改的索引)。即便如此,除非您每分钟进行超过 100 次更新,否则我认为 solr 不会窒息。
猜你喜欢
  • 2011-06-04
  • 1970-01-01
  • 2018-06-21
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-30
相关资源
最近更新 更多