Установить анализаторы для всех полей с помощью NEST
Как описано в _all поле Elasticsearch Документация.
Поля _all позволяют установить store, term_vector и analyzer (с определенными index_analyzer и search_analyzer).
Есть ли способ указать index_analyzer
а также search_analyzer
атрибуты на _all
поле для отображения с NEST? В частности, я хотел бы иметь возможность установить следующее для моего индекса:
{
"model": {
"_all": {
"index_analyzer": "nGram_analyzer",
"search_analyzer": "whitespace_analyzer"
}
...
}
Я не видел ничего, что позволило бы сделать это в Fluent Mappings. Могу ли я установить это вручную, если не с помощью Fluent Mapping?
1 ответ
Решение
Начиная с NEST 1.0, вы можете сделать это:
var result = this._client.Map<ElasticsearchProject>(m => m
.AllField(a=>a
.Enabled()
.IndexAnalyzer("nGram_analyzer")
.SearchAnalyzer("whitespace_analyzer")
.TermVector(TermVectorOption.with_positions_offsets)
)
...
...