2016-04-06 2 views
4

При обновлении до эластичного 2.3.1 Я сталкиваюсь с препятствием с клиентом .Net Nest.Обновление Elasticsearch 2.3.1 Nest client Raw String

В Nest 1.0 я мог прочитать настройки индекса из файла и настроить индекс при создании с использованием необработанной строки. Есть ли способ сделать что-то подобное в Nest 2.0 или мне нужно использовать свободный API для каждой настройки, включая часть анализа? Тот же вопрос для отображений.

Гнездо 1,0

private bool CreateIndex(string index, FileInfo settingsFile) 
{ 
    var settings = File.ReadAllText(settingsFile.FullName); 

    IElasticsearchConnector _elastic 
    var response = _elastic.Client.Raw.IndicesCreate(index, settings); 

    if (!response.IsValid) 
    { 
     //Logging error 
     return false 
    } 
    return true; 
} 

ответ

5

ElasticClient.Raw был переименован в ElasticClient.LowLevel.

Так вы можете составить свой запрос в NEST 2.x.

_elastic.Client.LowLevel.IndicesCreate<object>(indexName, File.ReadAllText("index.json")); 

Содержание index.json файла:

{ 
    "settings" : { 
     "index" : { 
      "number_of_shards" : 1, 
      "number_of_replicas" : 1 
     }, 
     "analysis" : { 
      "analyzer" : { 
       "analyzer-name" : { 
        "type" : "custom", 
        "tokenizer" : "keyword", 
        "filter" : "lowercase" 
       } 
      } 
     }, 
     "mappings" : { 
      "employeeinfo" : { 
       "properties" : { 
        "age" : { 
         "type" : "long" 
        }, 
        "experienceInYears" : { 
         "type" : "long" 
        }, 
        "name" : { 
         "type" : "string", 
         "analyzer" : "analyzer-name" 
        } 
       } 
      } 
     } 
    } 
} 

Надеется, что это помогает.

Смежные вопросы