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*"
        }
  }
}

这样设置后就可以了。

posted @ 2018-03-29 13:42  Romic的博客园  阅读(13837)  评论(0编辑  收藏  举报