如何在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

回到顶部