弹性搜索模糊搜索没有找到想要的结果
Elastic Search fuzzy search not finding desired results
在弹性搜索索引中,我有商标 data.I 在数据库中有名为 HILTON
的商标,但是当我搜索 hillytown
时没有找到 hilton
,但是当搜索 hilytown
它找到了。当我搜索 hillytown
时,如何修改 elsatic 搜索以查找 hilton
注意: : hillytown
有两个 l
我尝试的搜索是
$param = '
{
"query": {
"fuzzy" : {
"trademark" : {
"value": "'.$keyword.'",
"boost": 1.0,
"fuzziness": "AUTO",
"prefix_length": 0,
"max_expansions": 100,
"transpositions":true
}
}
}
}';
在
http://localhost:9200/watch_index_write/_search
我认为您无法让 "hillytown" 匹配 "hilton"。 Elasticsearch allows a maximum fuzziness (levenshtein distance) 的 2,但 hillytown 的距离为 3(需要删除 3 个字母)。
我自己还没有尝试过,但是 phonetic analysis plugin 可能会提供前进的方向。
在弹性搜索索引中,我有商标 data.I 在数据库中有名为 HILTON
的商标,但是当我搜索 hillytown
时没有找到 hilton
,但是当搜索 hilytown
它找到了。当我搜索 hillytown
hilton
注意: : hillytown
有两个 l
我尝试的搜索是
$param = '
{
"query": {
"fuzzy" : {
"trademark" : {
"value": "'.$keyword.'",
"boost": 1.0,
"fuzziness": "AUTO",
"prefix_length": 0,
"max_expansions": 100,
"transpositions":true
}
}
}
}';
在
http://localhost:9200/watch_index_write/_search
我认为您无法让 "hillytown" 匹配 "hilton"。 Elasticsearch allows a maximum fuzziness (levenshtein distance) 的 2,但 hillytown 的距离为 3(需要删除 3 个字母)。
我自己还没有尝试过,但是 phonetic analysis plugin 可能会提供前进的方向。