Могу ли я настроить Elastic Search для использования моего собственного списка стоп-слов? - PullRequest
11 голосов
/ 08 февраля 2011

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

Ответы [ 4 ]

17 голосов
/ 17 июня 2011

По умолчанию используется анализаторasticsearch - стандартный анализатор со стандартными стоп-словами Lucene English. Я настроилasticsearch для использования того же анализатора, но без стоп-слов, добавив следующее в файлasticsearch.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_
4 голосов
/ 22 октября 2012

Вы можете переопределить анализатор по умолчанию в глобальном масштабе и отключить фильтр стоп-слов , добавив эти строки вasticsearch.yml:

index.analysis.analyzer.default:
  type: custom
  tokenizer: standard
  filter: standard, lowercase

Это создаст собственный анализатор со стандартным токенизатороми два фильтра: стандартный и строчный.Таким образом, ваш пользовательский анализатор будет идентичен стандартному анализатору, но он не будет использовать фильтр стоп-слов.Так как он называется «default» ,asticsearch будет использовать его везде, где явно не установлен анализатор.

4 голосов
/ 12 февраля 2011

Да, вы можете сделать это, используя внутренний YAML-файл конфигурации ElasticSearch.

Информацию об изменении настроек анализатора см. В документах конфигурации .

0 голосов
/ 29 мая 2014

Конечно, вы можете. Используйте stopwords_path из стоп-слов. для получения дополнительной информации http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html

...