我有一个分类广告网站。用户可以投放广告、编辑广告、查看广告等
每当用户投放广告时,我都会向 Solr 添加一个文档。 但我不知道什么时候提交。根据我所读到的内容,提交会减慢速度。
我该怎么做?每 12 小时左右自动提交一次?
另外,我应该如何优化呢?
有关提交/优化的更多详细信息:
提交:当您将文档索引到 solr 时,在运行提交命令之前,您所做的任何更改都不会出现。 因此,何时运行提交命令实际上取决于您希望更改通过搜索引擎出现在您的网站上的速度。 然而,这是一个繁重的操作,因此应该分批完成,而不是每次更新后完成。
优化:这类似于硬盘驱动器上的碎片整理命令。 它将把索引重新组织成段(提高搜索速度)并删除任何已删除(替换)的文档。 Solr 是一种只读数据存储,因此每次索引文档时,它都会将旧文档标记为已删除,然后创建一个全新的文档来替换已删除的文档。 优化将删除这些已删除的文档。 您可以通过转到 Solr 统计页面并查看 numDocs 与 maxDocs 数字来查看搜索文档与已删除文档的数量。 两个数字之间的差异是索引中已删除(不可搜索)文档的数量。
Optimize 还从旧索引构建一个全新的索引,然后在完成后切换到新索引。 因此,该命令需要双倍的空间来执行操作。 因此,您需要确保索引的大小不超过可用硬盘空间的 50%。 (这是一个经验法则,由于删除的文档,通常需要不到 %50)
索引服务器/搜索服务器:
Paul Brown 是对的,solr 的最佳设计是拥有一个专用于索引并“调整”的服务器,然后将更改复制到搜索服务器。 您可以调整索引服务器以具有多个索引端点。
eg: http://solrindex01/index1; http://solrindex01/index2
由于索引服务器不搜索内容,您可以使用不同的内存占用和索引预热命令等对其进行设置。
希望这对大家有用。
经过一天的搜索和阅读,我发现了这一点:
1-优化会导致索引大小在优化时加倍,并使速度变得非常慢。
2- 每次添加后提交不是一个好主意,最好提交合理数量的文档发送到 Solr,这应该根据您的需求进行调整。您应该在服务器负载非常低时运行优化任务,每天一次就足够了。
3- Commit 应在 solrconfig.xml 文件中设置为“autoCommit”,并且还应根据您的需要进行调整。