【问题标题】:Elastic Search fuzzy search not finding desired results弹性搜索模糊搜索未找到所需结果
【发布时间】:2018-07-18 11:16:50
【问题描述】:

在弹性搜索索引中,我有商标数据。我在数据库中有名为 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

【问题讨论】:

    标签: elasticsearch fuzzy-search


    【解决方案1】:

    我认为你不能让“hillytown”匹配“hilton”。 Elasticsearch allows 最大模糊度 (levenshtein distance) 为 2,但 hillytown 的距离为 3(需要删除 3 个字母)。

    我自己没有尝试过,但phonetic analysis plugin 可能会提供一个前进的方向。

    【讨论】:

    • 所以没有办法通过弹性搜索?在此搜索中wipo.int/branddb/en/# 你可以这样做,我不知道他们使用的是什么搜索。
    • 我自己没有尝试过,但是语音分析插件可能会提供一个前进的方向:elastic.co/guide/en/elasticsearch/plugins/current/…
    • 我无法将拼音映射添加到现有索引中。您能帮我在 watch_index_write (index) 中的商标 (类型) 中添加字段商标的映射。
    • 它使用语音分析插件工作,请您添加您的答案,以便我接受您的答案。非常感谢你指导我。
    猜你喜欢
    • 2014-06-09
    • 2020-06-15
    • 2015-06-21
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多