2017-06-07 2 views
1

elasticsearch(私はelasticsearch 5.2を使用しています)と理解できない動作があります。私は〜5mのドキュメントでインデックスを持っています。私は何かを検索しようとします。私は、クエリを複数回実行した場合、私はhits.total内のドキュメントの異なる数を取得し、同じクエリの弾性検索における文書の数が異なります

{ 
    "query": { 
     "match_all": {} 
    } 
} 

:たとえば、私は、このクエリを使用します。

は誰のことを行います。私はカウントクエリ実行した場合(5032510最初の時間を、私は5032511のドキュメント、別の時間を持っている)、

同じ状況:異なった1つのドキュメント(5032510私は5032511のドキュメント、別の時間を持っている最初の時間)でありますこれがなぜ起こるか知っていますかクエリを実行するたびに、同じ回数を得るために何をする必要がありますか?

P.S.私はこのインデックスのためにnumber_of_shards:5、number_of_replicas:1を使用します。おそらくこの問題を解決するために重要です。

答えて

0

これがアクティブなインデックスであり、それに書き込んでいるクライアントがある場合、最も可能性の高いルートケースは長いインデックスのリフレッシュです(これは、大規模なインデックスのためにしばしば使用される最適化です)。カウントする前にrefresh queryを実行してみてください。しかし、高負荷の指標では高価になる可能性があることに注意してください。

+0

回答ありがとうございますが、残念ながら、これは現在アクティブなインデックスではありません。我々は数ヶ月間この指数に新しい何も書いていない。だから、これはインデックスの問題ではありません:( – froosty