Подтвердить что ты не робот

Как настроить токенизатор в elasticsearch

У меня есть встроенный elasticsearch, используя проект elasticsearch-jetty, и мне нужно настроить, чтобы использовать токенизаторы лучше, чем значения по умолчанию. Я хочу использовать ключевое слово tokenizer.

Я не могу понять, как это сделать через конфигурационные файлы. Может ли кто-нибудь указать мне способ сделать это через файлы конфигурации?

Как в стороне, можно ли настроить индекс, пока он работает и работает, делая POST для индекса? Я бы очень хотел понять, как использовать это, спасибо.

EDIT/update: У меня возникли проблемы с запуском curl -XPUT или -XPOST на localhost: 9200, чтобы попытаться настроить параметры из некоторых примеров/форумов, которые я видел при поиске, чтобы помочь здесь, я получаю результаты "Нет обработчика для uri [] и метода [PUT]/[POST].

РЕДАКТИРОВАТЬ 2: обновить, сделав XPUT для индекса, но я получаю сообщение об ошибке "Индекс уже существует". Я знаю, что он существует, я хочу его обновить.

4b9b3361

Ответ 1

Вы можете определять сопоставления в конфигурационных файлах, но в большинстве случаев проще или гибче настраивать через API. Например, эта команда добавит анализатор ключевого слова/нижнего регистра в индекс test:

$ curl -XPUT localhost:9200/testindex/ -d '
{
  "settings":{
     "index":{
        "analysis":{
           "analyzer":{
              "analyzer_keyword":{
                 "tokenizer":"keyword",
                 "filter":"lowercase"
              }
           }
        }
     }
  },
  "mappings":{
     "test":{
        "properties":{
           "title":{
              "analyzer":"analyzer_keyword",
              "type":"string"
           }
        }
     }
  }
}'

Ответ 2

Чтобы обновить существующий индекс, используйте

$ curl -XPUT localhost:9200/testindex/_settings -d '
{
..........
}

Однако вы не можете обновлять нединамические настройки.