Вы можете изменить анализатор по умолчанию для всех text
полей в индексе, добавив анализатор с именем "default"
в настройки индекса при создании индекса
var defaultIndex = "my_index";
var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(pool)
.DefaultIndex(defaultIndex);
var client = new ElasticClient(settings);
var createIndexResponse = client.CreateIndex(defaultIndex, c => c
.Settings(s => s
.Analysis(a => a
.Analyzers(an => an
.Standard("default", st => st
.StopWords("_english_")
)
)
)
)
);
, который отправит запрос на создание индекса со следующим телом
{
"settings": {
"analysis": {
"analyzer": {
"default": {
"type": "standard",
"stopwords": [
"_english_"
]
}
}
}
}
}
Если вы хотите, чтобы это применялось ко всем созданным индексам, вы можете использовать шаблон индекса , чтобы применить это соглашение ко всем автоматически создаваемым индексам
var putIndexTemplateResponse = client.PutIndexTemplate("default_analyzer", t => t
.IndexPatterns("*")
.Order(0)
.Settings(s => s
.Analysis(a => a
.Analyzers(an => an
.Standard("default", st => st
.StopWords("_english_")
)
)
)
)
);