Я столкнулся с проблемой, когда мне нужно было обновить стоп-слова в индексе, который указывал английский анализатор как анализатор по умолчанию. Обычно анализаторы указываются в настройках индекса:
{
"twitter": {
"settings": {
"index": {
"creation_date": "1469465586110",
"analysis": {
"filter": {
"lowercaseFilter": {
"type": "lowercase"
}
},
"analyzer": {
"default": {
"type": "english"
},
...
Итак, анализаторы расположены по адресу <index name>.settings.index.analysis.analyzer
Чтобы обновить анализатор, я выполнил следующие команды:
curl -XPOST "http://localhost:9200/twitter/_close" && \
curl -XPUT "http://localhost:9200/twitter/_settings" -d'
{
"analysis": {
"analyzer": {
"default": {
"type": "english",
"stopwords": "_none_"
}
}
}
}' && \
curl -XPOST "http://localhost:9200/twitter/_open"
После запуска этих команд я убедился, что анализатор по умолчанию анализирует текст и сохраняет все стоп-слова.
Однако, когда я использую клиент Jest, теперь настройки выглядят так, и анализ не происходит должным образом (обратите внимание, что настройки анализа теперь находятся в свойстве «members»):
{
"twitter": {
"settings": {
"index": {
"members": {
"analysis": {
"analyzer": {
"default": {
"type": "english",
"stopwords": "_none_"
},