Как определить пользовательский фильтр в отображении индекса с помощью гнезда 7 - PullRequest
0 голосов
/ 28 января 2020

Как определить фильтр клиента, используя гнездо 7 в c#. Учитывая приведенный ниже пример скручивания ....

curl -X POST http://127.0.0.1:9200/tryoindex/ -d'
{
  "settings": {
    "analysis": {
      "filter": {
        "custom_english_stemmer": {
          "type": "stemmer",
          "name": "english"
        }
      },

У меня нет свойства Filter, доступного в объекте Analysis !!. Каков синтаксис для преобразования примера curl в код гнезда 7.

var inxResp = client.Indices.Create(indexName, c => c          
                .Index(indexName)
                .Settings(s => s
                    .NumberOfShards(1)
                    .NumberOfReplicas(0)
                    .Analysis(a => a
                    )

1 Ответ

1 голос
/ 28 января 2020

свободно API / синтаксис

var createIndexResponse = client.Indices.Create("tryoindex", c => c
    .Settings(s => s
        .Analysis(a => a
            .TokenFilters(tf => tf
                .Stemmer("custom_english_stemmer", st => st
                    .Language("english")
                )
            )
        )
    )
);

или инициализатор объекта API / синтаксис

var createIndexResponse = client.Indices.Create(new CreateIndexRequest("tryoindex")
{
    Settings = new IndexSettings
    {
        Analysis = new Analysis
        {
            TokenFilters = new TokenFilters
            {
                { "custom_english_stemmer", new StemmerTokenFilter 
                    {
                        Language = "english"
                    }
                }
            }
        }
    }
});
...