【发布时间】:2020-07-22 12:50:06
【问题描述】:
我在包含 “face mask” 的 elasticsearch 字段中有数据,我可以使用以下查询获取此数据,其中 search_term 设置为“face”、“face mask”、“mask”和“口罩”。
{
"query": {
"bool": {
"must": [{
"multi_match": {
"query": ${search_term},
"fields": [
"title^4",
"titleNgram^3",
],
"fuzziness": "auto"
}
}]
}
}
}
我无法实现的是,当我查询 "facemask"(search_term 中没有空格)时,它不会返回任何包含 "face" 或 “mask”,但是,它会返回包含 “facewash” 字段的文档。有没有办法实现?
映射在下面共享
{
"mappings": {
"_doc": {
"properties": {
"title": {
"type": "text"
},
"titleNgram": {
"search_analyzer": "whitespace_analyzer",
"analyzer": "nGram_analyzer",
"type": "text"
},
"id": {
"index": false,
"type": "text"
}
}
}
}
}
【问题讨论】:
-
你也可以分享一下映射吗?
-
添加有问题
标签: elasticsearch search fuzzy-search fuzzy