Простейший пример строчных букв для типа ключевых слов es - PullRequest
0 голосов
/ 01 ноября 2018

Я бы хотел игнорировать регистр при поиске. Что было бы наименее многословным способом сделать это. Например, что-то вроде:

"mappings": {
  "_doc": {
    "properties": {
      "name": {"type": "keyword", "analyzer": "ignore_case"}
    }
  }
}

Выше приведен псевдокод, но как лучше всего это сделать? В основном я хочу иметь слово как:

"Hello"

И пусть «Hello», «HELLO», «hello» или «hello» соответствуют ему.

1 Ответ

0 голосов
/ 01 ноября 2018

Тип ключевого слова не использует Analyzers. Вам нужно использовать Normalizer

Если вы намереваетесь использовать keyword, в этом случае вам нужно создать пользовательский Нормализатор с filter, настроенным как lowercase, и ваше отображение должно быть следующим:

PUT <your_index_name>
{  
   "settings":{  
      "analysis":{  
         "normalizer":{  
            "my_custom_normalizer":{  
               "type":"custom",
               "filter":[  
                  "lowercase"
               ]
            }
         }
      }
   },
   "mappings":{  
      "mydocs":{  
         "properties":{  
            "mytext":{  
               "type":"keyword",
               "normalizer":"my_custom_normalizer"
            }
         }
      }
   }
}

Я думаю, что это наименее многословный способ! Надеюсь, это поможет!

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