Установить анализаторы для всех полей с помощью 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)
    )
    ...
    ...
Другие вопросы по тегам