5

私は 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;
    }
}

スコアリングなどを必要としない、より良い(より速い?)方法があると思います...

4

1 に答える 1

4

id equals を検索する代わりに、フィールドキャッシュを使用できるようにするだけでなく、スコアリングも持たないフィルター クエリを使用します。

SolrQuery query = new SolrQuery();
query.addFilterQuery("id:"+id);
于 2011-10-31T13:09:56.060 に答える