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

时间:2013-07-03 14:32:00

标签: solr solrj

有人知道如何在使用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

2 个答案:

答案 0 :(得分:1)

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

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

同时检查Soft commits哪个会以更高效的方式执行。

答案 1 :(得分:1)

要添加到Jayendra的答案中,可能有些情况下您可能试图再次索引现有文档。例如测试分析仪的不同索引时间链。

在这些情况下,如果没有内容更改,则可能无法推断出是否再次为文档建立了索引。

在这种情况下,_version_字段可能会出现。再次为文档建立索引时,_version_字段始终会更改其值。请参阅我的答案here,以了解有关_version_字段的更多信息。