私はESに少し慣れていないので、次のことを行う方法がわかりません:
いくつかの「すべき」パラメーターのみを含むクエリで検索を実行します。
次に、パーセンタイル、ターム バケットなどのいくつかの集計も行います。
しかし、集計については、たとえば、最初の 1000 個のドキュメントを集計したいだけです (スコアが付けられ、スコアによって順序付けられることを願っています)。
アイデアは、特定の用語の集計が必要ですが、十分な数が見つからない場合はそれを埋めますが、集計する特定の最大数に制限されています。ドキュメントからsize
は、返されるドキュメントの数であり、agg に使用されるサイズではないようです (ヒットは必要ありません。返される agg のみです)。
では、これについてどうすればよいでしょうか。ネストされた/後続のクエリはありますか? pipeline
たとえば、1,000 個のドキュメントを検索して、それを集計する必要がありますか?
ドキュメントがインデックス付けされたタイムスタンプで最初にソートできれば理想的です-「いっぱいになる」ために使用されるドキュメントが最新になるように-しかし、AFAIKは不可能ですか?
埋めますか?
「埋める」とは、指定された 1 つの「すべき」フィールドに対して 100 個のドキュメントがあることを意味します。次に、必要な1kの結果サイズを集計するために、他の900個のドキュメントが必要です(必要な数まで埋めるため)。したがって、フィルターを使用する代わりに、ドキュメントで「結合されたクエリ」を見たので、「すべき」パラメーターを使用するだけで十分だと思います。