SOLR提交并优化问题

我有一个分类网站。 用户可以放置广告,编辑广告,查看广告等

每当用户投放广告时,我都会添加一个文档到solr。 但是,我不知道什么时候该做。 提交减慢了我读过的东西。

我应该怎么做? 自动提交每12小时左右?

另外,我应该怎么做与优化?

提交/优化的更多细节:

提交:将索引文档编入索引时,在执行commit命令之前,不会显示正在进行的更改。 因此,何时运行提交命令的时机取决于您希望更改通过search引擎出现在您的网站上的速度。 然而,这是一个沉重的操作,所以应该在每次更新之后分批进行。

优化:这与硬盘驱动器上的碎片整理命令类似。 它将重新组织索引到段(提高search速度),并删除任何删除(replace)的文件。 Solr是一个只读的数据存储,所以每次索引文档时都会将旧文档标记为已删除,然后创build一个全新的文档来replace已删除的文档。 优化将删除这些删除的文件。 您可以通过转到Solr统计页面查看numDocs与maxDocs数字来查看search文档与删除的文档数量。 这两个数字之间的差异是索引中已删除(不可search)文档的数量。

另外Optimize从旧版本构build一个全新的索引,然后在完成时切换到新的索引。 因此,该命令需要双倍的空间来执行该操作。 因此,您需要确保索引大小不超过可用硬盘空间的50%。 (这是一个经验法则,因为被删除的文档通常需要less于50%)

索引服务器/search服务器:保罗·布朗是正确的,最好的devise为solr是有一个服务器专用和调整索引,然后复制到search服务器的变化。 您可以调整索引服务器以具有多个索引端点。

eg: http://solrindex01/index1; http://solrindex01/index2 

而且由于索引服务器没有search内容,你可以设置不同的内存占用和索引加温命令等。

希望这是对大家有用的信息。

实际上,经常进行优化使得事情真的很慢。 太重了

经过一天的search和阅读的东西,我发现这一点:

1-优化会导致索引的大小加倍,同时优化,使事情真的很慢。

2-每次添加后提交并不是一个好主意,最好每天进行几次,然后每天最多只进行一次优化。

3-在solrconfig.xml文件中应该将commit设置为“autoCommit”,在那里它应该根据你的需要进行调整。

通常这样做的方法是在位于请求path之外的Solr节点上执行提交/优化操作。 这需要额外的硬件,但它确保索引操作的性能损失不会影响您的用户。 复制用于定期将优化的索引文件从主节点传送到执行用户search查询的节点。

先试一试。 如果你避免了一个简单而优雅的解决scheme,那么这将是非常糟糕的,因为你读到它可能会导致性能问题。 换句话说,避免过早的优化 。