Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Indexing Apache solr频繁添加/编辑/删除记录_Indexing_Solr_Large Data - Fatal编程技术网

Indexing Apache solr频繁添加/编辑/删除记录

Indexing Apache solr频繁添加/编辑/删除记录,indexing,solr,large-data,Indexing,Solr,Large Data,我正在考虑使用ApacheSolr。在我的数据库中,我将有大约10.000.000条记录。我将使用它的最坏情况是大约20个可搜索/可排序字段。我的问题是,这些字段在一天中可能会频繁更改值。例如,在我的数据库中,我可能会在10000条记录的同时更改一些字段,这可能每天发生0次、1次或1000次,等等。问题是,每次我更新数据库中的值时,我希望它也在solr中更新,以便我每次都可以使用更新的数据进行搜索 对于那些使用过solr的人来说,在这样的卷中重新编制索引的速度有多快?这个更新(从我读到的内容中删

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


对于那些使用过solr的人来说,在这样的卷中重新编制索引的速度有多快?这个更新(从我读到的内容中删除并读取一条记录)和它的索引(例如)会花费5秒、5分钟、1小时吗?考虑它将运行在一个好的服务器上。 如果不真正尝试,很难判断。但是,您需要知道Lucene和Solr目前不支持单独的文档更新(尽管有一些工作正在进行),这意味着您需要重新索引整个记录,即使您只更新了单个字段

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


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

关于约5000个文档/秒的数量。。。现在是从头开始创建索引的时候了?或者是在添加数千个文档后需要重新编制索引的时候?是从头开始创建索引的时候(索引通常有100万到1000万个文档)。例如,更新数千个文档并将其编入索引需要多少时间?我不知道,但我不认为更新吞吐量会有很大不同,因为更新只是文档的重新添加。