2017-02-20 15 views
0

Здесь я пытаюсь создать анализатор поиска в своем новом индексе, но получаю исключение в t.Text «Необработанное исключение типа« Система ». ArgumentException»произошло в Nest.dll Дополнительная информация: не удалось получить имя поля для отображения TextPropertyDescriptor`1»Исключение ElasticSearch при создании индекса с отображением (Nest 5.2.0)

 var response = client1.CreateIndex("index", n => n 

      .Settings(s => s 
       .NumberOfShards(10) 
       .NumberOfReplicas(10) 
       .Analysis(a => a 
           .TokenFilters(af=>af.EdgeNGram("autocompletefilter",e=>e.MinGram(1) 
                         .MaxGram(20))) 
           .Analyzers(an => an.Custom("autocomplete", ana => ana.Tokenizer("standard") 
                      .Filters("lowercase", "asciifolding", "standard"))))) 
      .Mappings(m=>m.Map("mytype",my=>my.Properties(t=>t.Text(te=>te.Analyzer("autocomplete") 
                      .SearchAnalyzer("standard")))))); 
+2

Вы определили свойство без имени. Попробуйте 'te => te.Name (« name »). Analyzer (..)'. – Rob

+1

Кроме того, 10 реплик означают 10 ** наборов ** реплик-черепов 10 первичных осколков, то есть 100 осколков. Это, вероятно, слишком много реплик (если вы не используете очень большой кластер), поэтому подумайте об уменьшении этого –

+1

Благодарим за помощь. Теперь я пытаюсь выполнить поиск в индексе, но я не могу использовать анализатор, я получаю как исключение " request [/ index/mytype/_search] содержит непризнанный параметр: [analyzer] " – grlouk

ответ