假设我有三个指数:城市,博物馆和景点。
现在我正在查询所有索引(_all
)的术语,例如“维也纳”
'query' :{
'fuzzy' : {
'name': 'vienna'
}
}
结果是:
(Museum)
(Museum)
(Sight)
(cities)
有没有一种方法可以对索引进行优先排序,这样我就可以得到比景点和博物馆更重要的城市,比如:
(cities)
(Sight)
(Museum)
(Museum)
答案 0 :(得分:0)
您可以通过按期望的顺序为每个索引添加增强来做到这一点:
{
"query": {
"bool": {
"must": {
"fuzzy": {
"name": "vienna"
}
},
"should": [
{
"term": {
"_index": {
"value": "cities",
"boost": 3
}
}
},
{
"term": {
"_index": {
"value": "sights",
"boost": 2
}
}
},
{
"term": {
"_index": {
"value": "museums",
"boost": 1
}
}
}
]
}
}
}