elasticsearch 忽略大小写模糊搜索实现

Posted Romic的博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch 忽略大小写模糊搜索实现相关的知识,希望对你有一定的参考价值。

在es查询时不区分大小写,可以让查询更方便,具体设置如下:

{
    "settings": {
        "analysis": {
            "analyzer": {
                "caseSensitive": {
                    "filter": "lowercase",
                    "type": "custom",
                    "tokenizer": "keyword"
                }
            }
        }
    },
    "mappings": {
        "personInfo": {
            "properties": {
                "userName": {
                    "type": "string",
                    "analyzer": "caseSensitive",
                    "search_analyzer": "caseSensitive"
                }
            }
        }
    }
}

设置完mappings后,在搜索的时候搜索的 userName 转成小写进行搜索

{
  "query":{
        "wildcard" : {
            "userName": "*zhangsan*"
        }
  }
}

这样设置后就可以了。

以上是关于elasticsearch 忽略大小写模糊搜索实现的主要内容,如果未能解决你的问题,请参考以下文章

工作中的Elasticsearch-模糊检索

Elasticsearch系列---前缀搜索和模糊搜索

Elasticsearch系列---前缀搜索和模糊搜索

JS执行模糊搜索

ES实现模糊搜索

如何使弹性搜索多匹配模糊搜索始终返回最小数量的结果