如何检查文档是否真正编入索引?

问题描述 投票:0回答:2

有人知道在使用Solr进行更新后如何检查文档是否编入索引?

我在调用SolrServer的add()方法之后尝试读取响应,如下所示,但它似乎不起作用:

SolrInputDocument doc = new SolrInputDocument();
/*
 * Processing on document to add fields ...
 */
UpdateResponse response = server.add(doc);


if(response.getStatus()==0){
System.out.println("File Added");
}
else{
System.out.println("Error when Adding File");
}

在javadoc中,无法知道返回add()方法的内容。它总是返回0吗?在这种情况下,更新后检查文件索引的最佳方法是什么?

谢谢

Corentin

solr solrj
2个回答
1
投票

您需要执行提交才能看到添加的文档。 添加只会将文档添加到索引。 但是,除非您提交,否则文档仍不会作为搜索结果返回。 当您索引文档以解决所有更改(添加/删除/更新)时,您将显示,直到您运行commit命令。

A commit operation makes index changes visible to new search requests.

还要检查Soft commits,它将以更高效的方式执行。


1
投票

要添加到Jayendra的答案,可能会出现您可能尝试再次索引现有文档的情况。例如测试不同的索引时间链分析器。

在这些情况下,如果没有内容更改,您可能无法推断文档是否再次编入索引。

在这种情况下,_version_领域可能会来救援。当文档再次编入索引时,_version_字段始终更改其值。请参考我的答案here了解更多有关_version_字段的信息。

© www.soinside.com 2019 - 2024. All rights reserved.