2013-09-30 4 views
0

У меня есть входные данные, аналогичные тегам, где есть несколько строк на запись, и их следует рассматривать как ключевые слова, а не быть пронумерованными или разбитыми или проанализированы каким-либо конкретным способом. Я хочу, чтобы он появился в огранке «как есть», включая пробелы, косые черты, тире и амперсанды.elasticsearch array поле ключевых слов - как проиндексировать его

Я не думаю, что мне нужно multi_field здесь. Существует одно входное значение для каждой записи «keyPhrases», но входное значение представляет собой простой массив строк json.

Я хочу, чтобы elasticsearch вставлял в грани каждое из значений и помечал запись всеми фразами. Обычно на запись есть только одна или две или три фразы, но их может быть больше. Набор keyPhrases довольно мал, как 30 или не более 50. Их можно рассматривать как «категории».

Фрагмент продолжает разбивать входные строки и использовать нижний регистр, хотя я пытаюсь указать not_analyzed, ключевое слово tokenizer, анализатор ключевых слов и пробовать подобные вещи.

У меня есть другие поля, которые сохраняют свои интервалы и заглавные буквы по мере того, как я желаю в возвращенных гранях, однако эти поля не_анализируются и также сохраняются: true, но также являются точно 1 строковым вводом для записи, в отличие от многих в запись.

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

Любые идеи о том, как это сделать?

+1

Можете ли вы разместить свое сопоставление для поля тега? Вы можете получить сопоставление следующим образом: 'curl -XGET 'http: // имя-хоста: 9200/index-name/type-name/_mapping'' – kielni

+0

Да, это обязательно должно работать так, как есть. Каждое значение массива обрабатывается как строка для поля, когда дело доходит до анализа. Итак, если вы установите поле not_analyzed, тогда вы должны быть хорошими. –

ответ

0

Ну, это неловко. Мое строчное сопоставление на самом деле не было привязано к серверу в то время, когда я пытался это сделать. (я отбрасывал индекс и снова создавал индекс с каждым новым сопоставлением и не реализовал его, и это не было окончательным отображением, поэтому оно загружалось и затем отбрасывалось.)

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