フィールドで集計を実行しようとしています&特定の値を無視しています!だから私はのパスのフィールドに、異なるURLパスのヒープを保持しています。Elasticsearch:フィールドで集計を実行し、値に一致しない正規表現を使用して特定の値を除外します。
{
"size": 0,
"aggs": {
"paths": {
"terms":{
"field": "path" // Count the no unique path ~> values
}
}
},
"filter": {
"bool": {
"must_not": [
{
"regexp": {
// path MUST NOT CONTAIN media | cache
"path": {
"value": "(\/media\b|\bcache\b)"
}
}
}
]
}
}
}
これを実行している場合、それはキャッシュまたはメディアを含むパスを持っているドキュメントを除外していません?! 。
私はフィルタを削除した場合、私はそれを放置すれば、同じ結果が返される
ああ、それはアイデアです。しかし、これは本当にうまくやっています:)私はそれがCRONによってトリガされ、迅速である必要はないので、パフォーマンスについて心配していません! – James111
日付範囲フィルタを追加することはできますか?だから私は全体のインデックスの代わりに、前日からのみaggsを取得する? – James111
私は、クエリに日付フィルタを追加しました。 – ChintanShah25