如何在Elasticsearch中实现区分大小写的搜索?
我在索引文档中有一个字段,需要区分大小写地进行搜索。我正在使用匹配查询来获取结果。我的数据文件的一个示例是:
{"name" : "binoy",
"age" : 26,
"country": "India"
}
现在,当我给出以下查询时:
{“query” : {
“match” : {
“name” : “Binoy"
}
}
}
它给了我“ binoy”和“
Binoy”的匹配。我希望搜索区分大小写。缺省情况下,elasticsearch似乎不区分大小写。如何在Elasticsearch中使搜索区分大小写?
回答:
在映射中,您可以将字段定义为not_analyzed。
curl -X PUT "http://localhost:9200/sample" -d '{ "index": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}'
echo
curl -X PUT "http://localhost:9200/sample/data/_mapping" -d '{
"data": {
"properties": {
"name": {
"type": "string",
"index": "not_analyzed"
}
}
}
}'
现在,如果您可以进行普通索引和普通搜索,它就不会对其进行分析并确保其提供不区分大小写的搜索。
以上是 如何在Elasticsearch中实现区分大小写的搜索? 的全部内容, 来源链接: utcz.com/qa/435197.html