0
색인을 쿼리하고 싶지만 필터를 2 개 적용하고 싶습니다. 먼저 가격과 두 번째 위치.ElasticSearch 쿼리 개체에 필터를 두 개 적용하려면 어떻게합니까?
var qobject = {
query:{
custom_score:{
query:{
filtered:{
query:{
multi_match:{
query: q,
fields: ['title','description'],
}
},
filter:{
range:{
price: { from: 0, to: max_price }
},
geo_distance:{
'distance': distance + 'mi',
'location':{
lat: lat,
lon: lon
}
}
}
}
},
script: '_score + _source["price"] * 10'
}
}
}
elasticSearchClient.search('products', 'products', qobject)
이 쿼리 개체는 오류가 발생합니다.
그러나 범위 또는 geo_distance을 제거하면 모든 것이 정상입니다! 하지만 두 필터가 모두 필요합니다 ...
"및"다른 필터 안에 필터를 감싸는 것과 같은 기능을 사용합니까? – TIMEX
무슨 뜻인지 확실하지 않아. '및'과 같은 일부 필터는 특히 다른 필터를 중첩하기 위해 만들어졌습니다.이 배치를 내가 가정 할 수 있습니다. –
당신이 찾을 수있는 문서를 볼 때, 또는 필터하지 않을 수 있습니다. 이들 모두는 임의로 복잡한 부울 쿼리를 구성 할 수있는 다른 필터 (임의로 deep : 및 inside 등을 중첩 할 수 있음) –