[英]Elasticsearch sort based on element in multivalue field
是否可以根據多值字段中存在的元素進行排序?
例:
a) document with "111"
put test/test/1
{
"bit_position" : [
1,
2,
3
]
}
b) document with 010
put test/test/2
{
"bit_position": [
2
]
}
基於"bit_position" = 3
排序應返回文檔a,然后返回b。
我了解到這可能是嵌套字段,但是當未嵌套bit_position
時找不到任何信息。
我發現了這個問題: 在Elasticsearch的多值字段中按值排序,但尚未得到回答。
謝謝
我通過使用function_score解決了這個問題:
POST test/_search
{
"query": {
"function_score": {
"match_all": {},
"functions": [
{
"filter": {
"terms": {
"bit_position": [
1,
3
]
}
},
"weight": 2
}
],
"score_mode": "multiply"
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.