如何处理 search_as_you_type 字段和拼写错误

问题描述 投票:0回答:2

我想在电子商务网站中进行搜索,以查找具有良好查询的产品来管理拼写错误。

我正在学习elasticsearch 和search_as_you_type 字段。但在文档中,你有 search_as_you_type 和模糊性。

如果我有这个产品:便利贴 76x76 毫米

我想要找到这个产品,如果我写:

  • 便利贴
  • 发布它
  • 过去了
  • 发帖
  • ....

然后,找到所有类似的产品(因为在这个例子中我只有一种产品,但实际上大约有 30 000 个)

目前我有类似的映射,但我不知道如何添加模糊性:

"mappings": {
    "properties": {
        "title": {
            "type": "search_as_you_type",
        }
    }
},

感谢您的帮助

elasticsearch fuzzy-search n-gram
2个回答

0
投票

如果索引字段的类型为 search_as_you_type,您可以使用如下所示的内容,但是,最后一项或只有一个术语时不会有模糊性。

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#type-bool-prefix

{  
  "query": {
    "bool": {
      "must": {
        "multi_match": {
          "type": "bool_prefix",
          "query": "one two th",
      "fields": [
        "autocomp.etab",
        "autocomp.etab._2gram",
        "autocomp.etab._3gram"
      ],
      "operator": "AND",
      "fuzziness": "AUTO"
    }
  }  
}

} }

© www.soinside.com 2019 - 2024. All rights reserved.