三人行必有我师

fuzziness对keyword的识别效果

Elasticsearch | 作者 Tjian | 发布于2023年03月08日 | 阅读数:3144

假设我对一个keyword字段进行检索,检索体如下吗,其中的ABCD每个字母表示一个汉字
{
            "query": {
                "match": {
                    "search.keyword": {
                        "query": "ABCD",
                        "fuzziness": 1
                    }
                }
            },
            "from": 0,
            "size": 100}
但是结果中却不会出现ABC这个字符串,也没有ABCDE,只会有类似ABCE,ABCF等字符串
可是如果我把检索体改为
{
            "query": {
                "match": {
                    "search.keyword": {
                        "query": "ABCD",
                        "fuzziness": 1,
                        "prefix_length": 2
                    }
                }
            },
            "from": 0,
            "size": 100}
就可以检索到ABC
并且对于第一个检索体,无论我把fuzziness的值改为多少(除了0),搜索出来的数量和结果是一样的
已邀请:

要回复问题请先登录注册