Elasticsearch:参数“ include”不区分大小写

时间:2018-11-01 12:52:03

标签: elasticsearch

如何在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”,则聚合没有结果。 你能帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为,在术语聚合中,不会对您提供的术语进行分析,因此当您提供BA时,ES不会小写。该应用程序应小写您在聚合中提供的术语。这是假设您需要不区分大小写的结果。如果需要区分大小写的结果(BAba的结果不同),则不应首先使用低套管分析仪。