ES模糊查询不区分大写
warning:
这篇文章距离上次修改已过180天,其中的内容可能已经有所变动。
在Elasticsearch中,默认情况下,标准分析器会将文本字段转换成小写,这就是为什么Elasticsearch的查询是不区分大小写的。但是,如果你想要执行一个区分大小写的查询,你可以使用match_phrase
查询,并结合keyword
字段进行查询。
以下是一个使用match_phrase
查询的例子,它会区分大小写:
GET /your_index/_search
{
"query": {
"match_phrase": {
"your_field": {
"query": "YOUR QUERY",
"analyzer": "keyword"
}
}
}
}
在这个例子中,your_index
是你的索引名,your_field
是你想要执行区分大小写查询的字段名。"query": "YOUR QUERY"
是你要搜索的内容,它会被保留原样大小写进行搜索。
请注意,如果你的字段是一个全文字段,并且你想要在全文搜索的同时保持大小写敏感性,你可能需要重新定义你的字段映射,使用不同的分析器,或者将同一份数据存储两次,一份为不区分大小写的全文搜索数据,另外一份保持原始大小写,但不用于全文搜索。
评论已关闭