1
我有三個以下參數,我將通過運行查詢,它們是;彈性搜索我如何查詢多個匹配或功能
- 查詢 - 無論是地方名稱,描述或空,
- LAT - 一個地方或空的任緯度,
- LON - 任的經度放置或空
基於上述參數,我根據query
得分查詢items
列表,然後計算result
和lat, lon
之間的距離。
現在,我有以下腳本來獲得基於query
和distance
的items
;
{
"query": {
"function_score": {
"query": {
"bool": {
"must": [{
"multi_match" : {
"query": "Lippo",
"fields": [ "name^6", "city^5", "country^4", "position^3", "address_line^2", "description"]
}
}]
}
},
"functions": [
{
"gauss": {
"position": {
"origin": "-6.184652, 106.7518749",
"offset": "2km",
"scale": "10km",
"decay": 0.33
}
}
}
]
}
}
}
但事實是,如果query
是空的,不會有結果的。我想要的是,結果是基於query
或distance
。
無論如何要實現這一目標嗎?任何建議表示讚賞。
這樣做對我來說..但是,我終於打消了我的'functions'檢查距離。我最終使用了簡單的'query'和'filter'。謝謝 – choz
你也可以發佈^^這個版本。 – kaulmonish