Elasticsearch «не удалось найти фильтр по имени»

Я только начал с ES 5.2.2 Пробую анализатор рекламы с поддержкой русского языка. Запускаю ES с помощью докера, я создаю образ с установленной морфологией elasticsearch-analysis. затем я: создать индекс, затем поместить настройки

после этого получить настройки, и все sems правильно

curl http://localhost:9200/news/_settings?pretty
{
"news" : {
"settings" : {
  "index" : {
    "number_of_shards" : "5",
    "provided_name" : "news",
    "creation_date" : "1489343955314",
    "analysis" : {
      "analyzer" : {
        "russian_analyzer" : {
          "filter" : [
            "stop",
            "custom_stop",
            "russian_stop",
            "custom_word_delimiter",
            "lowercase",
            "russian_morphology",
            "english_morphology"
          ],
          "char_filter" : [
            "html_strip",
            "ru"
          ],
          "type" : "custom",
          "tokenizer" : "standard"
        }
      },
      "char_filter" : {
        "ru" : {
          "type" : "mapping",
          "mappings" : [
            "Ё=>Е",
            "ё=>е"
          ]
        }
      },
      "filter:" : {
        "custom_stop" : {
          "type" : "stop",
          "stopwords" : [
            "n",
            "r"
          ]
        },
        "russian_stop" : {
          "ignore_case" : "true",
          "type" : "stop",
          "stopwords" : [
            "а",
            "без",
          ]
        },
        "custom_word_delimiter" : {
          "split_on_numerics" : "false",
          "generate_word_parts" : "false",
          "preserve_original" : "true",
          "catenate_words" : "true",
          "generate_number_parts" : "true",
          "catenate_all" : "true",
          "split_on_case_change" : "false",
          "type" : "word_delimiter",
          "catenate_numbers" : "false"
        }
      }
    },
    "number_of_replicas" : "1",
    "uuid" : "IUkHHwWrStqDMG6fYOqyqQ",
    "version" : {
      "created" : "5020299"
    }
  }
 }
}
}

затем я пытаюсь открыть индекс, но ES дает мне это:

{
"error" : {
"root_cause" : [
  {
    "type" : "exception",
    "reason" : "Failed to verify index [news/IUkHHwWrStqDMG6fYOqyqQ]"
  }
],
"type" : "exception",
"reason" : "Failed to verify index [news/IUkHHwWrStqDMG6fYOqyqQ]",
"caused_by" : {
  "type" : "illegal_argument_exception",
  "reason" : "Custom Analyzer [russian_analyzer] failed to find filter         under name [custom_stop]"
}
},
"status" : 500
}

Не могу понять, где я не прав. Кто-нибудь может увидеть, в чем проблема?


person Sergei Malanin    schedule 12.03.2017    source источник
comment
Какой запрос вы отправляете на свой эластичный узел?   -  person Adonis    schedule 13.03.2017
comment
@asettouf curl -XPOST 'localhost:9200/news/_open/?pretty'   -  person Sergei Malanin    schedule 13.03.2017
comment
@asettouf у меня есть заполнение, что мои настройки имеют неправильный синтаксис   -  person Sergei Malanin    schedule 13.03.2017
comment
Это одна из самых странных вещей, которые я когда-либо видел, если я делаю тест с вашей конфигурацией для создания индекса (копирование вставки), я получаю ту же ошибку, если я переписываю ее, и она полностью эквивалентна, индекс создается успешно . Единственное, что я вижу прямо сейчас, это то, что кодировка каким-то образом интерпретируется неправильно... Также эластичность в режиме отладки не показывает ничего более полезного...   -  person Adonis    schedule 13.03.2017
comment
@asettouf о_О очень странно... Спасибо. попробую переписать.   -  person Sergei Malanin    schedule 13.03.2017
comment
@asettouf была ошибка фильтра: две точки в имени   -  person Sergei Malanin    schedule 13.03.2017


Ответы (1)


Ошибка в разделе "фильтр"

 was:

look here this This colon was a mistake
       |
       v
"filter:" : {
    "custom_stop" : {
      "type" : "stop",
      "stopwords" : [
        "n",
        "r"
      ]
    }...

Спасибо @asettou и @andrey-morozov

person Sergei Malanin    schedule 13.03.2017