в частности, я хочу индексировать все (например, кто) без списка стоп-слов. Является ли эластичный поиск достаточно гибким и достаточно легким для изменения?
Могу ли я настроить "Упругий поиск" для использования моего собственного списка "Остановить список слов"?
Ответ 1
По умолчанию используемый анализатор elasticsearch представляет собой стандартный анализатор со стандартными секундомерами Lucene English. Я сконфигурировал elasticsearch для использования того же анализатора, но без остановок, добавив следующее в файл elasticsearch.yml.
# Index Settings
index:
analysis:
analyzer:
# set standard analyzer with no stop words as the default for both indexing and searching
default:
type: standard
stopwords: _none_
Ответ 2
Да, вы можете сделать это с помощью файла конфигурации YAML внутреннего файла ElasticSearch.
См. config docs о том, как изменить настройки анализатора.
Ответ 3
Вы можете переопределить анализатор по умолчанию во всем мире и отключить фильтр паузы, добавив эти строки в ваш elasticsearch.yml:
index.analysis.analyzer.default:
type: custom
tokenizer: standard
filter: standard, lowercase
Это создаст собственный анализатор со стандартным токенизатором и двумя фильтрами: стандартным и строчным. Таким образом, ваш пользовательский анализатор будет идентичен стандартным анализаторам, но он не будет использовать фильтр остановки. Поскольку он называется "default", elasticsearch будет использовать его везде, где анализатор явно не установлен.
Ответ 4
Конечно, вы можете. Используйте stopwords_path для ввода паролей. для дополнительной информации http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html