我无法从文档中弄清楚如何跨多个术语进行通配符搜索,而只是提升/去提升一些。
我有一个 JSON 结构,例如:
{
'indices_boost': {
'football': 1.2,
'horse-race': 1.1
},
'query': {
'bool': {
'minimum_number_should_match': 2,
'should': [
{
'wildcard': {
'name': {
'boost': 1.2,
'value': 'polan*'
}
}
},
{
'wildcard': {
'nicknames': u
'polan*'
}
},
{
'wildcard': {
'horses': 'polan*'
}
},
{
'wildcard': {
'jockeys': 'polan*'
}
},
{
'wildcard': {
'parent': {
'boost': 0.7,
'value': 'polan*'
}
}
},
{
'terms': {
'minimum_match': 1,
'state': [
'upcoming',
'live'
]
}
}
]
}
},
'size': 5
}
目的是name
应该提升该字段上的通配符匹配,而该parent
字段上的通配符匹配仍然是相关的,但不应放在name
匹配的结果之上。
此特定查询不会返回结果,即使它应该返回(_all
使用通配符的查询会返回结果)。