Elasticsearch Настраивает Маркер нижнего регистра для визуализации элементов управления Kibana без учета регистра

#elasticsearch #kibana #kibana-7 #elasticsearch-analyzers

Вопрос:

Я создал визуализацию элементов управления Kibana (Список параметров с включенными многозначными и динамическими параметрами) на своей панели мониторинга. Поиск дает результаты только в том случае, если значения чувствительны к регистру. Я читал, что чувствительность к регистру зависит от маркера свойства во время ввода в elasticsearch, что имеет смысл.

Кибана Управляет визуализацией

Поэтому я настроил свой индекс с помощью следующего маркера в нижнем регистре:

 "settings": {
    "number_of_shards": 1,
    "analysis": {
      "analyzer": {
        "lowercaseAnalyzer": {
          "tokenizer": "keyword",
          "filter": "lowercase"
        }
      }
    }
  }
...
"mappings": {
  "_source": {
    "enabled": true
  },
  "properties": {
    "schname": {
      "type": "text",
      "analyzer":"lowercaseAnalyzer",
      "fields": {
        "raw": {
          "type": "keyword"
        }
      }
    },
    ...
 

Однако, когда я переиндексирую свои данные, я не вижу никаких изменений в поведении поиска визуализации элементов управления. Это все еще чувствительно к регистру. Может ли это быть schname связано с тем, что я использую многополевое поле? Визуализация элементов управления настроена для использования этого schname.raw поля.

Я также попытался настроить свой анализатор следующим образом, но безрезультатно.

 "tokenizer": "whitespace",
"filter": [ "lowercase" ]
 

По общему признанию, это мое первое предприятие в области анализаторов, поэтому я просто пытаюсь понять, где я ошибаюсь.

Ответ №1:

похоже, что он должен работать на schname поле, так как именно там вы размещаете анализатор нижнего регистра. если вы поместите его в schname.raw поле, вам нужно будет использовать точный регистр, так как именно это и есть сопоставление ключевых слов — https://www.elastic.co/guide/en/elasticsearch/reference/7.14/keyword.html

есть также проблема, связанная с этим — https://github.com/elastic/kibana/issues/50171

Комментарии:

1. Это имеет смысл, хотя я вижу только schname.raw (против schname) в качестве доступного поля для элемента управления. Интересно, ограничивается ли это полями ключевых слов?