여러 유형으로 검색하고 있습니다. 반환 된 유형 중 하나에는 my_field라는 필드가 있습니다. 반환 된 다른 유형에는 해당 필드가 없습니다. 나는 용어가 존재하지 않는 모든 결과와 용어가 존재할 때 필드의 값이 참인 결과만을 원한다.탄성 검색 5.4 - 용어가 존재하는 경우 용어로 필터링하고 용어가 없을 때 필터링하지 않습니다.
my_field의 필터가 쿼리 점수에 기여하지 않고 필터링 만 수행하면 좋을 것입니다.
이것은 내가 가진 것만 큼입니다. 네가 나를 도울 수 있다면 나는 1 시간 동안 자기 깃발을 칠 것이다.
(이것은 잘못된 사용하지 마십시오!)
body = {
'query': {
'bool': {
'must': {
'multi_match': {
'query': 'pangolin',
'fields': ['_all', '_partials']
}
},
"should": {
"must_not": {
"exists": {
"field": "my_field"
}
}
},
"should": {
'term': {
'my_field': True
}
}
}
}
}
bool 쿼리 컨텍스트에서 필수 항목 뒤에 2 개를 입력해야하기 때문에 위의 코드는 작동하지 않습니다. docs https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-bool-query.html –