0
正しい手順については、何か助けやアイデアが必要です。
私は既に大きな文書の索引を作成しました。今私はほぼ同じ内容のいくつかの文書があることを知りました。Elasticsearchの結果フィルタとページ番号
{
"title": "myDocument",
"date": "2017-09-18",
"page": 1
}
{
"title": "myDocument",
"date": "2017-09-18",
"page": 2
}
タイトルフィールドはテキストとしてマップされ、日付は日付であり、ページは整数です。あなたが見ることができるように、唯一の違いはページの値です。
ここでは、クエリを作成してこれらの重複を除外したいと考えています。フィールドコラプシングは良い方法だと思われますが、この場合は正しい結果を得ることができず、それは私のために重要です。
他の方法は、すべての結果を最初に取得してから「手動で」フィルタリングすることですが、ページネーションに問題があります。
[OK]をクリックして合計ヒット数を取得しますか?たとえば、「2番目のページ」の結果を取得するために、size = 10とfrom = 11を設定するとしますか? – altralaser
集計は、最初の10の文書だけでなく、索引のすべての文書に適用されます。集計と検索を混在させています。集約は全体に対して実行されます。上記のクエリは、タイトルと日付に基づいて各ページのページ数を表示します。これは、タイトル、日付、Sqlの観点からのページ別のグループのようです。 –