Solr:确定文档是否存在

Son*_*son 5 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Jay*_*dra 4

不要搜索 id equals,而是使用过滤器查询,它不会有任何评分,也可以使用字段缓存

SolrQuery query = new SolrQuery();
query.addFilterQuery("id:"+id);
Run Code Online (Sandbox Code Playgroud)