Apache solr经常添加/编辑/删除记录

时间:2012-06-28 15:12:23

标签: indexing solr large-data

我正在考虑使用Apache Solr。在我的数据库中,我将有大约10.000.000条记录。我将使用它的最坏情况有大约20个可搜索/可排序的字段。我的问题是这些字段可能会在白天频繁更改值。例如在我的数据库中,我可能会在10000条记录的同时更改某些字段,这可能每天发生0,1或1000次等。重点是每次更新数据库中的值我希望它更新在solr中,我每次都可以使用更新的数据进行搜索。

对于那些使用过solr的人来说,在这些卷中重新索引的速度有多快?这会更新(从我读到的内容中删除并读取一条记录)并且它的索引例如成本为5秒,5分钟,1小时,什么?考虑它将在一台好的服务器上运行。

1 个答案:

答案 0 :(得分:3)

没有实际尝试就很难分辨。但是你需要知道Lucene和Solr目前不支持单个文档更新(尽管有一些工作正在进行中https://issues.apache.org/jira/browse/LUCENE-3837),这意味着即使你只更新了一个单元,也需要重新索引整个记录字段。

此外,Lucene和Solr在执行批量更新方面比单文档更新要好得多。要解决此问题,Solr有一个很好的commitWithin参数,可让Solr将各个更新组合在一起以提高吞吐量。

你应该谨慎地使用这个数字,但我经常在非常传统的硬件上创建数百万个文档(约30个小字段)的索引,吞吐量为~5000 docs / s。