如何在Elasticsearch中配置索引,以使聚合中的参数“ include”不区分大小写?
I have this index:
PUT index {"settings":
{"analysis": {
"analyzer": {
"my_normalizer": {
"type": "custom",
"tokenizer": "keyword",
"char_filter": ,
"filter": ["lowercase"]}}}},
"mappings":{
"_doc":{
"properties":{
"foo": {
"type": "text",
"analyzer": "my_normalizer",
"fielddata": true}}}}}
With data:
PUT index/_doc/1 {
"foo": "BAR"
}
PUT index/_doc/2 {
"foo": "bar"
}
And the query:
GET index/_search{
"size": 0,
"aggs": {
"ad":{
"terms": {"field": "foo",
"include": "ba.*"}}}}
但是,如果我在“ BA”中更改“ ba”,则聚合没有结果。 你能帮我吗?
答案 0 :(得分:0)
我认为,在术语聚合中,不会对您提供的术语进行分析,因此当您提供BA
时,ES不会小写。该应用程序应小写您在聚合中提供的术语。这是假设您需要不区分大小写的结果。如果需要区分大小写的结果(BA
和ba
的结果不同),则不应首先使用低套管分析仪。