使用solr java api删除索引文档

Delete index document using solr java api

所以我在这里使用 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

所以这里我要做的是获取数据库,然后 NotesSolrWrite 用于索引我的笔记文档并保存在服务器上,所以在 res 中,正如预期的那样,有两个这样的文档满足查询条件和 count.size 给出了被选中的文档数量,我正在打印计数值。

所以我现在的问题是我想从服务器上删除这个文档

但我不知道我是否做对了,删除代码后我仍然在服务器上获取这些文档。如何以其他方式删除它??

如果有人帮助我就好了

我找到了解决方案。我使用

删除了文档
FTIserver.deleteByQuery("dontKnow1");"