4
對於項目,我需要選擇過濾器邊界內和最接近數字值的文檔。這是一個價格,我似乎無法找到這是否可能。在ElasticSearch的數值字段上按距離排序
說我有2個文件:
{
"name": "Document1",
"price": 46.12,
"tags": ["tag1", "tag2"]
}
{
"name": "Document2",
"price": 82.29,
"tags": ["tag1", "tag3"]
}
是否有可能獲得與最接近66.23的價格文件?
如果您的羣集中啓用了動態腳本,您可以使用基於腳本的排序:基於絕對差異進行排序http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html #_script_based_sorting – keety 2014-10-28 20:20:11
這不是,但我啓用它,因爲ES只能通過我們軟件的私有部分訪問,所以看起來相對安全。我目前使用這樣的: { 「查詢」:{ ... }, 「排序」:{ 「_script」:{ 「腳本」:「CUR =(因子 - DOC ['有效載荷'age'] .value; if(cur <0){cur = cur * -1} else {cur = cur}「, 」type「:」number「, 」params「:{ 」factor「 45 }, 「order」:「asc」 } } } – 2014-10-29 07:22:28