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