2015-12-30 4 views
0

Я использую гнездо для реализации elasticsearch в .net и новичок в нем. Я пытаюсь отобразить предложения, пожалуйста, помогите мне с этим. как это сделать в C# с использованием гнездаelasticsearch autocompletion mapping using nest

curl -X PUT localhost:9200/songs/song/_mapping -d '{ 
    "song" : { 
     "properties" : { 
      "name" : { "type" : "string" }, 
      "suggest" : { "type" : "completion", 
       "index_analyzer" : "simple", 
       "search_analyzer" : "simple", 
       "payloads" : true 
      } 
     } 
    } 
}' 
+0

В чем проблема? что не работает? – ChintanShah25

+0

Как это сделать в C# с помощью гнезда? –

ответ

1

Найти полный код ниже. Он создает новый объект ElasticClient, а затем добавляет отображение song в индекс songs. Перед выполнением этого кода убедитесь, что индекс songs уже существует. Вы также можете создать индекс songs, прежде чем создавать сопоставление через код в любом случае. Я оставлю это до вас, чтобы понять. Найдите исчерпывающий пример того, как отображения могут быть созданы в Nest here.

var client = new ElasticClient(new ConnectionSettings(new Uri("http://localhost:9200"))); 

var response = client.Map<object>(d => d 
    .Index("songs") 
    .Type("song") 
    .Properties(props => props 
     .String(s => s 
      .Name("name")) 
     .Completion(c => c 
      .Name("suggest") 
      .IndexAnalyzer("simple") 
      .SearchAnalyzer("simple") 
      .Payloads()))); 

Debug.Assert(response.IsValid); 
+0

благодарит его работу !! –

+0

@bittusarkar вы можете помочь мне решить эту проблему (http://stackoverflow.com/questions/37960029/how-to-add-completion-analyzer-on-an-attachment-fields-elastic-search-nest) пожалуйста – ASN