3

findOne / findで同じクエリ用語を使用してMongodbで検索すると、findOneはfindよりもはるかに高速です。

私の検索の場合、それが存在するかどうかを知る必要があるので、検索エンジンが1つを選択して戻り、検索クエリを高速に実行する必要があります。

そして、ElasticSearchで何かを検索すると、常に検索結果の合計を取得できます。予想どおり、それほど遅くはありませんが、速くはありません。

参考までに、私のElasticsearchには約200万のドキュメントが保存されており、一部の検索用語は20万を超えるドキュメントを示唆しており、500ミリ秒以上かかる場合があります。

MongodbのfindOneのような関数を探しています。これにより、クエリ時間が100ミリ秒未満に遅くなる可能性があります。

または他の解決策はありますか?

ありがとう。

4

1 に答える 1

0

いずれかのカウント API を試してください:

http://www.elasticsearch.org/guide/reference/api/count.html

または search_type=count:

http://www.elasticsearch.org/guide/reference/api/search/search-type.html

ヒットデータが必要ない場合は、どちらもより効率的ですが、ドキュメントの合計数は引き続き計算されます。

于 2012-12-01T22:54:08.167 に答える