有人知道在使用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
您需要执行提交才能看到添加的文档。 添加只会将文档添加到索引。 但是,除非您提交,否则文档仍不会作为搜索结果返回。 当您索引文档以解决所有更改(添加/删除/更新)时,您将显示,直到您运行commit命令。
A commit operation makes index changes visible to new search requests.
还要检查Soft commits,它将以更高效的方式执行。
要添加到Jayendra的答案,可能会出现您可能尝试再次索引现有文档的情况。例如测试不同的索引时间链分析器。
在这些情况下,如果没有内容更改,您可能无法推断文档是否再次编入索引。
在这种情况下,_version_
领域可能会来救援。当文档再次编入索引时,_version_
字段始终更改其值。请参考我的答案here了解更多有关_version_
字段的信息。