ドキュメントから、複数の用語でワイルドカード検索を行う方法を理解できませんが、いくつかをブースト/デブーストするだけです。
次のような 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
ワイルドカードを使用したクエリは結果を返します)。