elasticsearch - Elasticsearch 模糊搜索未找到所需结果

标签 elasticsearch fuzzy-search

在 Elasticsearch 索引中,我有商标数据。我在数据库中有一个名为HILTON的商标,但是当我搜索hillytown时没有找到hilton,但是当搜索hilytown时找到了。我搜索hilton时如何修改elsatic搜索以找到hillytown
注意::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的最大模糊度(levenshtein distance)为2,但是hillytown的距离为3(需要删除3个字母)。

我自己还没有尝试过,但是phonetic analysis plugin可能提供了前进的道路。

关于elasticsearch - Elasticsearch 模糊搜索未找到所需结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51400645/

相关文章:

elasticsearch - elasticsearch/logstash和logstash-contrib:找不到任何名为 'x'的插件

java - org.elasticsearch.client.transport.NoNodeAvailableException : None of the configured nodes are available: []

python - 查找最不常出现的模糊字符串

c# - 在列表中查找不同的匹配项

python - 模糊正则表达式(例如 {e<=2})在 Python 中的正确用法

用于模糊全文搜索的 Java 库

r - 地址匹配的分层模糊匹配策略

elasticsearch - 在 Elasticsearch 中使用过滤器查询聚合嵌套字段

curl - 您如何正确索引 elasticsearch 中的数据,找到它,然后删除它,所有这些都使用 CURL?

elasticsearch - Elasticsearch 性能相关的海量数据查询