2013-11-26 2 views
1

Elasticsearch сам по себе поддерживает индекс-анализатор и анализатор запросов,
, но поиск elalesearch в haystack, похоже, не различает их.анализатор индекса и анализатор запросов в стоге сена - elasticsearch?

Я исправлю?

связан вопрос о том,

DEFAULT_SETTING Elasticsearch, кажется, есть 'settings.analysis.anaylyzer' и 'index.analysys.anaylyzer'. (например, http://www.wellfireinteractive.com/blog/custom-haystack-elasticsearch-backend/ имеет «индекс»). В чем разница между ними?

ответ

3

С помощью стога сена вы хотите сами установить сопоставления.

я писал о стоге сена, а раньше здесь: Django Haystack Distinct Value for Field

В настройках вы можете определить анализаторы для каждого поля основе, они могут быть анализатор по умолчанию (что Стог по умолчанию и получите примененной в обоих время поиска и индекса) анализатор времени поиска и анализатор времени запроса.

Как правило, рекомендуется определять анализатор времени поиска и анализатор времени индекса, даже если они являются точными.

Используя анализ текста снежного кома, вы можете применить это как к времени поиска, так и по индексу, но что-то вроде функции автозаполнения, вы можете не захотеть этого (что то, что делает haystack). Вы хотите, чтобы анализатор индексов сохранял (edge) ngrams и обычно вы хотите применить более строгий анализ времени поиска, например ключевое слово.

Вы почти никогда не хотите, чтобы haystack определял отображение.

Что касается второй части, смотрите здесь: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html

Середина пути вниз он говорит:

«Примечание Вы не должны явно указать раздел указателя внутри настроек раздела.»

Я тоже попробовал это сам, потому что я никогда не тестировал его.

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