탄성 찾기 1.5에서 5.1로 마이그레이션 할 때 문제가 있습니다. 이 쿼리는 집계 나에게 올바른 doc_count을주고있다집계, 쿼리 컨텍스트 및 필터 컨텍스트가 Elasticsearch에서 작동하지 않음 5.1
{
"_source":["_id","spotlight"],
"query":{
"filtered":{
"filter":{
"and":[
{"term":{"gender":"female"}},
{"range":{"lastlogindate":{"gte":"2016-10-19 12:39:57"}}}
]
}
}
},
"filter":{
"and":[
{"term":{"maritalstatus":"1"}}
]
},
"sort":[{"member2_dummy7":{"order":"desc"}}],
"size":"0",
"aggs": {
"maritalstatus": {
"filter": {},
"aggs" : {
"filtered_maritalstatus": {"terms":{"field":"maritalstatus","size":5000}}
}
}
}
}
: 1.5 쿼리 - 은 다음 내 탄성 검색입니다. 이 doc_count는 쿼리 컨텍스트에 의해 반환 된 결과 집합에 대해 계산되며 필터 컨텍스트를 무시합니다.
{
"_source":["_id","spotlight"],
"query":{
"bool":{
"must":[
{"term":{"gender":"female"}},
{"range":{"lastlogindate":{"gte":"2016-10-19 12:39:57"}}}
],
"filter":{
"bool":{
"must":[
{"term":{"maritalstatus":"1"}}
]
}
}
}
},
"sort":[{"member2_dummy7":{"order":"DESC"}}],
"size":"0",
"aggs": {
"maritalstatus": {
"filter": {},
"aggs" : {
"filtered_maritalstatus": {"terms":{"field":"maritalstatus","size":5000}}
}
}
}
}
을하지만 탄성 검색 5.1, 그것은 나에게 집계 잘못 doc_count을 반환 :
나는 탄성 검색 5.1에서 동일한 쿼리를 작성했습니다. 쿼리 컨텍스트에서 필터를 사용하고 있으므로 잘못된 doc_cout을 반환하고 있다고 생각합니다. 누군가가 탄성 검색 5.1에서 쿼리와 필터를 분리하는 정확한 방법을 말해 줄 수 있습니까?
당신이'여성 찾고 있던 1.5 당신에게 첫 번째 항 쿼리를 확인합니다
ES 5.1에서 이에 해당하는 쿼리는 다음 (단순히
bool/filter
로 대체됩니다filtered/filter
및post_filter
로 이름이 변경 최상위filter
)입니다 '5.1에서'여성'을 찾고있었습니다. 'term' 질의에서 많은 부분을 차지합니다. 검색어를 '5.1'에서 '여성'에서 '여자'로 변경하고 결과를 확인하십시오. 또한 '5.1'쿼리의 타임 스탬프가 '1.5'쿼리의 쿼리보다 '5 초'더 깁니다. – avr