2013-02-26 4 views
12

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

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

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

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

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

ответ

24

Вы можете определить сопоставления в конфигурационных файлах, но в большинстве случаев проще или гибче настраивать через 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" 
      } 
     } 
    } 
    } 
}' 
+1

Спасибо за ответ. Я попытался сделать XPUT для индекса, который в настоящее время существует, и получил ошибку об уже существующем индексе. Вы можете мне помочь? Можно ли изменить существующий индекс? – cdietschrun

+1

Если индекс уже создан, вы можете использовать API-интерфейс PUT для изменения отображения: http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html. Обратите внимание, что вы не можете изменить отображение свойства после его создания. Если вам нужно изменить свойство, вам нужно будет создать новый индекс с новым сопоставлением – Zach

0

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

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

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

Смежные вопросы