使用solr java api删除索引文档
因此,这里我使用使用solr java api删除索引文档,java,solr,lotus-domino,solrj,Java,Solr,Lotus Domino,Solrj,因此,这里我使用solr为文档编制索引 下面是我的小部件代码: db = cmd.start(); new NotesSolrWriter(db, null); SolrHelper slrHelp = new SolrHelper(); QueryResponse res = slrHelp.queryResults("dontKnow1 ", null); SolrDocumentList ids = res.g
solr
为文档编制索引
下面是我的小部件代码:
db = cmd.start();
new NotesSolrWriter(db, null);
SolrHelper slrHelp = new SolrHelper();
QueryResponse res = slrHelp.queryResults("dontKnow1 ", null);
SolrDocumentList ids = res.getResults();
count = ids.size();
System.out.println(count);
boolean getServer = getServer();
if (getServer) {
for (SolrDocument id : ids) {
System.out.println("See my id " + id.toString());
FTIserver.deleteById(id.toString());
FTIserver.commit();
// FTIserver.commit(true, true);
}
}
QueryResponse res1 = slrHelp.queryResults("dontKnow1 ", null);
SolrDocumentList ids1 = res1.getResults();
int count1 = ids1.size();
System.out.println("before delete::" + count);
System.out.println("after delete::" + count1);
输出:
See my id SolrDocument[{contid=3BAC9EE84691380265257EEB002BAA77, cmrights=[dummy, dummy1, dummy2], dbtype=MAIL, subject=NotesSlrWriter123, sendto=receiver@gmial123.com, frommail=sender@gmail123.com, posteddate=Tue Oct 27 13:26:57 IST 2015}]
See my id SolrDocument[{contid=F92F9D8BBD65F36365257EEB0040DEFE, cmrights=[dummy, dummy1, dummy2], dbtype=MAIL, subject=NotesSlrWriter123, sendto=receiver@gmial123.com, frommail=sender@gmail123.com, posteddate=Tue Oct 27 17:18:33 IST 2015}]
before delete::2
after delete::2
所以这里我要做的是获取数据库,然后notessolwrite
用于索引我的notes文档并保存在服务器上,所以在res
中,正如预期的那样,有两个这样的文档满足查询条件并计数。size
给出了所选文档的数量,我正在打印count的值
所以我的问题是现在我想从服务器上删除这些文档
但我不知道我是否做得对,在删除代码之后,我仍然在服务器上获取这些文档。如何以其他方式删除该内容
如果有人能帮我,那就太好了。我找到了解决办法。我使用删除了文档
FTIserver.deleteByQuery("dontKnow1");"
我找到了解决办法。我使用删除了文档
FTIserver.deleteByQuery("dontKnow1");"
我猜你只是在用这种方法。这将返回一个
UpdateResponse
响应。请检查solr返回的状态代码。我不确定什么是FTIserver
。私有SolrServer FTIserver;FTI solr服务器和我在代码顶部声明抱歉,我没有解释!!您是否检查了响应代码?solr1.4这是我的solr版本,我找到了解决方案,我使用“FTIserver.deleteByQuery(“dontKnow1”);”删除了文档。我猜您仅使用此方法。这将返回一个UpdateResponse
响应。请检查solr返回的状态代码。我不确定什么是FTIserver
。私有SolrServer FTIserver;FTI solr服务器和我在代码顶部声明抱歉,我没有解释!!您是否检查了响应代码?solr1.4这是我的solr版本,我找到了解决方案,我使用“FTIserver.deleteByQuery(“dontKnow1”);删除了文档