我一直在寻找互联网上的一些日子,但找不到我的问题的正确答案。也许有人可以帮忙吗?
如果我在elasticsearch中的查询没有命中,则必须在其他字段中搜索。如果有结果,则仅显示这些结果,而不在其他字段中搜索。我目前的解决方案是增加字段(ean,model,imodel),但在其他字段(title,desc)中的搜索继续。所以它返回了数百个不相关的项目。
{
"from": 0,
"size": "16",
"query": {
"bool": {
"should": [
{
"multi_match": {
"query": "63090300",
"fields": [
"ean^100",
"model^100",
"imodel^100"
]
}
},
{
"match": {
"title_de": {
"query": "63090300",
"boost": "5"
}
}
},
{
"match": {
"title_de": {
"query": "63090300",
"type": "phrase",
"analyzer": "trigrams",
"fuzziness": "1"
}
}
},
{
"multi_match": {
"query": "63090300",
"fields": [
"desc_de"
],
"operator": "and"
}
}
]
}
}
}