私はterms-lookup-filter aggregationを使ってelasticsearchクエリを次のようにしています。どちらのクエリでも同じ結果が得られます。両方のクエリが同じフィルタタイプを持つのは、その違いがterms-lookup-filterの順序(場所)だけです。elasticsearchクエリのterms-lookup-filter aggregation orderは実行時間(効率)に影響しますか?
1.用語検索フィルタは、とフィルタ集約の2番目/最後の位置にあります。
{
"size": 0,
"aggs": {
"filterAggs": {
"filter": {
"and": {
"filters": [
{
"range": {
"eligibleDates": {
"include_lower": true,
"include_upper": true,
"from": <fromDate>,
"to": <toDate>
}
}
},
{
"terms": {
"rollNo": {
"path": "student.rollNo",
"index": "<index_name>",
"id": "<record_id>",
"type": "<es Type>"
}
}
}
]
}
}
}
}
}
2.Here用語ルックアップフィルタはとフィルタ凝集の第一の位置にあります。
{
"size": 0,
"aggs": {
"filterAggs": {
"filter": {
"and": {
"filters": [
{
"terms": {
"rollNo": {
"path": "student.rollNo",
"index": "<index_name>",
"id": "<record_id>",
"type": "<es Type>"
}
}
},
{
"range": {
"eligibleDates": {
"include_lower": true,
"include_upper": true,
"from": <fromDate>,
"to": <toDate>
}
}
}
]
}
}
}
}
}
私の実験/テストでは、第1のクエリは第2のクエリよりも効率的に(7~10倍速く)実行されます。 私の質問は、elasticsearchクエリのterms-lookup-filter集計順が実行時間(効率)に影響しますか?フィルタの配置順は実行時間にどのように影響しますか?