2014-02-03 3 views
0

Я только что обновил сайт, обновление добавляет новые поля в поиск elasticsearch.Elasticsearch не ищет некоторые поля

В моей среде Dev все работает нормально. но на реальном сайте новые поля не найдены.

Например. Я добавил новое поле со значением: 1

Однако при добавлении отфильтрованного запроса из

{ «поле»: 1}

он не находит каких-либо результатов, соответствующих.

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

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

Любая помощь будет оценена по достоинству.

Update:

запрашивая из URL ничего не показывает ни

_search/?pretty=true&size=50&q=field1:* 

однако есть еще одно поле, которое было добавлено в то же самое время, которое я могу искать дальше. Я вижу поле1 в результирующем наборе, но это просто не позволяет мне искать его.

Только разница я вижу в отображении является то, что один, который работает устанавливается на тип: длинные, тогда как один не работает устанавливается как тип: строка

+0

Просьба показать фактические действия, которые вы используете для воспроизведения этой проблемы.Слишком много движущихся частей, чтобы иметь возможность дать вам ответ только с информацией, приведенной выше. – DrTech

+0

Я добавил еще несколько вещей, которые я пробовал. Поле отображается в отображении, оно отображается в наборе результатов, но не позволяет мне искать его. –

+0

Можете ли вы добавить все сопоставление, которое используется для этого индекса и/или введите ваш вопрос? –

ответ

1

Это вопрос длины на Ngram? Каковы были ваши настройки «min_gram»? При проверке на настройках индекса, как это:

GET <host>/<index_name>/_settings 

ли это работать, если вы фильтр для двузначного поля? Все значения полей имеют одну цифру?

0

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

Есть несколько вещей, которые могут пойти не так:

  1. Убедитесь в том, что данные фактически находятся в индексе. Для этого просто перейдите к URL-адресу _search без параметров, вы увидите поле, если оно проиндексировано.

  2. Посмотрите на свое картографирование. Может ли быть указано, что поле явно не индексируется?

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

+0

Спасибо за помощь. Я попытался посмотреть на поиск _search, и запись с набором полей показывает правильное значение. Странно, я добавил несколько полей. Поэтому, используя метод url, я выполнил поиск в другом добавленном поле (? Q = field2: *), и он находит результат, но если я попробую (? Q = field1 : *) он не имеет никаких результатов. –

+0

Я также проверил отображение, и его в отображении как «строка» никакие другие параметры не заданы для отображения для него. –

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