【问题标题】:Solr synchronous data replication for immediate search availabilitySolr 同步数据复制以实现即时搜索可用性
【发布时间】:2014-02-14 17:27:24
【问题描述】:

我有一个带有两台服务器的 solr 云设置,每个集合有 1 个分片和 2 个副本。这两个实例位于负载均衡器后面,该负载均衡器仅在循环模式下工作。

在我们的应用程序中,我们采取以下步骤:

  1. 将文档添加到索引
  2. 对该文档执行查询以查找它是否与一系列规则匹配

为此,我们需要将该文档在提交后立即复制到第二个 solr 服务器。

我们的solr配置如下:

solr.autoSoftCommit.maxDocs=1
solr.autoSoftCommit.maxTime=1000

solr.autoCommit.maxDocs=1000
solr.autoCommit.maxTime=15000

据我了解这些设置,solr.autoSoftCommit.maxDocs=1 将导致文档立即被索引,这应该会导致此索引更改被推送到副本。

此外,每 1000 个文档或每 15 秒将使用 autoCommit 设置处理和提交日志。

我们看到的是,文档通常在它添加到的实例上不可用,并且在副本实例上几乎从不可用。

【问题讨论】:

    标签: solr


    【解决方案1】:

    不直接回答您的主要问题,但以防万一您不知道...如果您的查询可以作为 Lucene 查询给出,您是否考虑过使用包含一个文档并运行所有的 MemoryIndex您对此有何疑问?

    我已经使用了这个设置并且工作得非常好。

    【讨论】:

    • 这实际上会解决我的问题,感谢您在我问题的字里行间阅读。我只是等着把这个标记为答案,以防有人提供它的 solr 方面的答案。因此,如果其他人想要设置 solr,他们就会明白。但我认为这正是我所需要的。谢谢。
    • 到目前为止,这是最好的(也是唯一的)答案。看起来我们实际上正在将查询延迟到软提交窗口的 1.5 倍。由于 solr 查询与 lucene 查询略有不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 2018-08-24
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    相关资源
    最近更新 更多