Indexing Apache solr频繁添加/编辑/删除记录
我正在考虑使用ApacheSolr。在我的数据库中,我将有大约10.000.000条记录。我将使用它的最坏情况是大约20个可搜索/可排序字段。我的问题是,这些字段在一天中可能会频繁更改值。例如,在我的数据库中,我可能会在10000条记录的同时更改一些字段,这可能每天发生0次、1次或1000次,等等。问题是,每次我更新数据库中的值时,我希望它也在solr中更新,以便我每次都可以使用更新的数据进行搜索Indexing Apache solr频繁添加/编辑/删除记录,indexing,solr,large-data,Indexing,Solr,Large Data,我正在考虑使用ApacheSolr。在我的数据库中,我将有大约10.000.000条记录。我将使用它的最坏情况是大约20个可搜索/可排序字段。我的问题是,这些字段在一天中可能会频繁更改值。例如,在我的数据库中,我可能会在10000条记录的同时更改一些字段,这可能每天发生0次、1次或1000次,等等。问题是,每次我更新数据库中的值时,我希望它也在solr中更新,以便我每次都可以使用更新的数据进行搜索 对于那些使用过solr的人来说,在这样的卷中重新编制索引的速度有多快?这个更新(从我读到的内容中删
对于那些使用过solr的人来说,在这样的卷中重新编制索引的速度有多快?这个更新(从我读到的内容中删除并读取一条记录)和它的索引(例如)会花费5秒、5分钟、1小时吗?考虑它将运行在一个好的服务器上。 如果不真正尝试,很难判断。但是,您需要知道Lucene和Solr目前不支持单独的文档更新(尽管有一些工作正在进行),这意味着您需要重新索引整个记录,即使您只更新了单个字段 此外,Lucene和Solr在执行批量更新方面比单个文档更新要好得多。为了解决这个问题,Solr有一个很好的参数,可以让Solr将各个更新分组在一起以提高吞吐量
您应该谨慎地对待这个数字,但我经常在非常传统的硬件上创建数百万个文档(约30个小字段)的索引,吞吐量约为5000个文档/秒。关于约5000个文档/秒的数量。。。现在是从头开始创建索引的时候了?或者是在添加数千个文档后需要重新编制索引的时候?是从头开始创建索引的时候(索引通常有100万到1000万个文档)。例如,更新数千个文档并将其编入索引需要多少时间?我不知道,但我不认为更新吞吐量会有很大不同,因为更新只是文档的重新添加。