2017-02-15 10 views
0

私のインデックスが空であるかどうか(ゼロのドキュメントを含んでいるか、少なくとも1つのドキュメントを含んでいるかどうか)を調べたいJavaアプリケーションでは、Elasticsearchでインデックスが空であるかどうかをチェックする方法は?

すべてのドキュメントをカウントすると(サイズ= 0の検索リクエストを送信することによって)、読み込みができず、パフォーマンスが最適ではない可能性があります。

インデックスが空であるかどうかを確認する専用の方法はありますか?

答えて

1

は、次のJavaコードでそれを行うことができます:clientorg.elasticsearch.client.ClientINDEXある

IndicesStatsResponse indicesStatsResponse = client().admin().indices().prepareStats(INDEX).get(); 

indicesStatsResponse.getIndices().get(INDEX).getTotal().docs.getCount()); 

は、インデックスの名前を表す、Stringです。

興味深いことに、いくつかの簡単なテストでは、平均してこの要求は、MatchAllDocsQueryよりも20%早いことが分かります。しかし、これが正しいテストであるかどうかはわかりません。たぶん私は後で適切なことをするでしょう

関連する問題