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
Solr:已发布文件的数量不等于maxDoc_Solr_Indexing - Fatal编程技术网

Solr:已发布文件的数量不等于maxDoc

Solr:已发布文件的数量不等于maxDoc,solr,indexing,Solr,Indexing,如果这个问题已经在某个地方得到了回答,我提前表示歉意——我找不到它 我对Solr相对较新,并且一直遵循提供的使用默认SimplePostTool从命令行索引数据的说明。我目前正在测试中使用Solr4.0 首先,我通过查询删除索引中的所有内容。然后,我将SimplePostTool指向几个目录并索引成千上万的文件。在我的例子中,就目前而言,每个XML文件都是一个单独的文档。有些文档可能具有相同的uniqueKey ID。如果有必要,XML文档的大小范围为4-60kB SimplePostTool完

如果这个问题已经在某个地方得到了回答,我提前表示歉意——我找不到它

我对Solr相对较新,并且一直遵循提供的使用默认SimplePostTool从命令行索引数据的说明。我目前正在测试中使用Solr4.0


首先,我通过查询删除索引中的所有内容。然后,我将SimplePostTool指向几个目录并索引成千上万的文件。在我的例子中,就目前而言,每个XML文件都是一个单独的文档。有些文档可能具有相同的uniqueKey ID。如果有必要,XML文档的大小范围为4-60kB

SimplePostTool完成后返回,并显示26541个文件已编制索引。然后我查看AdminCollection1页面,看到Num Docs=20985和Max Doc=22921


我已经看到讨论Num Docs和Max Doc之间的差异(我觉得我充分理解覆盖行为)。我的问题是,为什么SimplePostTool报告的索引文档数与Solr Admin页面给出的Max Doc不匹配?

您的numdoc和maxDoc数不同的原因是:

numDocs表示索引中可搜索文档的数量(并且将大于XML文件的数量,因为某些文件包含多个XML文件)。maxDoc可能会更大,因为maxDoc计数包括尚未从索引中删除的逻辑删除的文档。您可以根据需要反复发布示例XML文件,numDocs将永远不会增加,因为新文档将不断替换旧文档。 发件人:。这适用于旧版本


您可以通过优化索引来删除逻辑删除的文件->

“可能具有相同的uniqueKey ID”,这意味着第二次上载会覆盖第一次上载;没有任何警告。事实上,在Solr中,更新文档与添加具有相同ID的新文档是一样的。但这不是我的问题。也许我不清楚:“在我的情况下……每个XML文件都是一个单独的文档。”-在任何情况下,一个XML文件都不包含多个文档。我希望SimplePostTool索引的文档报告数>=numDocs,但决不会