Solr:确定文档是否存在

时间:2011-10-31 11:55:15

标签: java solr solrj

我是SolrJ的初学者,想要找出最快的方法来确定是否存在具有唯一ID的文档? 我不需要该文档,我只是想知道它是否已经在索引中。

现在我在SolrJ中尝试这样的事情:

private boolean solrContainsId(final String id) {
    SolrQuery query = new SolrQuery("id:" + id);

    try {
        long count = server.query(query).getResults().getNumFound();
        return count > 0;
    } catch (SolrServerException e) {
        return false;
    }
}

我认为会有更好(更快?)的方式,不需要得分等......

1 个答案:

答案 0 :(得分:4)

使用不具有任何评分的过滤查询,而不是搜索id equals,而不是使用fieldcache

SolrQuery query = new SolrQuery();
query.addFilterQuery("id:"+id);