首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >模糊度超过2个字符的弹性搜索(距离)

模糊度超过2个字符的弹性搜索(距离)
EN

Stack Overflow用户
提问于 2018-12-06 13:25:47
回答 1查看 2K关注 0票数 2

我正在尝试匹配文本字段。我期待的结果,如果它有60%加上匹配。

利用模糊性,我们可以给出仅2距离。有了这个Elastic与描述‘事件食品饮料’的记录,我试图匹配‘Elastic 123’,这是不匹配的。

事件食品matches =‘matches 12’>比赛

这些事件Doesn=‘>不匹配

‘321事件食品饮料Doesn=’>不匹配

我想要弹性来匹配“事件-食物饮料”

任何需要超过2个步骤的更改都与不匹配

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-06 14:06:10

我认为模糊的疑问不适合你的情况。模糊性是解决人类在输入查询时可能出现的拼写错误问题的一种方法。人类大脑可以很容易地跳过单词中间某个字母的替换,而不会失去词组的整体意义。我们期待搜索引擎的类似行为。

试着使用常规的部分加工与ngram分析器:

代码语言:javascript
运行
复制
    PUT my_index
    {
        "settings": {
            "analysis": {
                "filter": {
                    "trigrams_filter": {
                        "type": "ngram",
                        "min_gram": 3,
                        "max_gram": 3
                    }
                },
                "analyzer": {
                    "trigrams": {
                        "type": "custom",
                        "tokenizer": "standard",
                        "filter": [
                            "lowercase",
                            "trigrams_filter"
                        ]
                    }
                }
            }
        }, 
        "mappings": {
            "my_type": {
                "properties": {
                    "my_field": {
                        "type": "text",
                        "analyzer": "trigrams"
                    }
                }
            }
        }
    }

    GET my_index/my_type/_search
    {
        "query": {
            "match": {
                "my_field": {
                    "query": "eventsfooddrinks",
                    "minimum_should_match": "60%"
                }
            }
        }
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53652482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档