Elasticsearch: параметр «include» не чувствителен к регистру - PullRequest
0 голосов
/ 01 ноября 2018

Как я могу настроить индекс вasticsearch для того, чтобы параметр "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 голосов
/ 01 ноября 2018

Я считаю, что в терминах агрегации терминов термин, который вы предоставляете, не анализируется, поэтому, когда вы предоставляете BA, он не ниже, чем ES. В приложении должны быть прописные слова, которые вы вводите в агрегации. Предполагается, что вы хотите получить результаты без учета регистра. Если вы хотите получать результаты с учетом регистра (разные результаты для BA и ba), вам не следует использовать анализатор в нижнем регистре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...