2015-08-19 2 views
0

Я создал свой индекс с настройками моего анализатора, и он показывает мои настройки анализатора, когда я вызываю свойства индекса. Когда я пытаюсь использовать индекс с помощью анализатора, он генерирует исключение с именем «Analyzer could not found». Вот настройки моего анализатора;Анализатор Elasticsearch не смог найти Исключение

"settings":{ 
    "index":{ 
     "settings":{ 
      "analysis":{ 
       "filter":{ 
        "turkce_lowercase":{ 
         "type":"lowercase", 
         "language":"turkish"}, 
        "turkce_stop":{ 
         "type":"stop", 
         "stopwords_path":"/home/power/Documents/stop_words.txt"} 
         }, 
       "analyzer":{ 
        "turkce":{ 
         "filter":["turkce_lowercase","turkce_stop"], 
         "tokenizer":"standard_tokenizer"} 
         }, 
       "tokenizer":{ 
        "standard_tokenizer":{ 
         "type":"standard", 
         "max_token_length":"900"} 
         } 
         } 
        } 
      } 
      } 
+1

Можете ли вы показать запрос, который вы пытаетесь отправить? – Val

+0

Я не посылаю никаких запросов при отправке /_analyze? Analyzer = turkce говорит, что анализатор не найден, но в настройках индекса я вижу свой анализатор. –

+0

Можете ли вы попытаться добавить '' type ":" custom "' в свой анализатор turckce (см. [Здесь] (https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-custom -analyzer.html))? – Val

ответ

0

В вашем custom analyzer, вам просто нужно добавить "type": "custom", чтобы обозначить, что ваш анализатор является пользовательским анализатором, а не стандарт один.

"analyzer": { 
    "turkce": { 
     "type": "custom",   <----- add this 
     "filter": [ 
     "turkce_lowercase", 
     "turkce_stop" 
     ], 
     "tokenizer": "standard_tokenizer" 
    } 
    } 
Смежные вопросы