0

在彈性搜索新,我試圖做更新操作與elasticsearch,但爲此,當我試圖篩選和選擇特定的代碼,我得到的執行和例外情況是:Elasticsearch在做更新操作時,選擇特定的索引獲取異常

類型的異常 'ElasticsearchCRUD.ElasticsearchCrudException' 發生ElasticsearchCRUD.dll但在用戶代碼中沒有處理, 其他信息:ElasticSearchContextGet:HttpStatusCode.BadRequestNo處理程序找到的URI [// skillwithlistofdetailss/skillwithlistofdetails/1]和方法[GET]

和我的方法是如下:

public void UpdateSkill(long updateId, string updateName, string updateDescription, List<SkillDetail> updateSkillDetailsList) 
    { 
     using (var context = new ElasticsearchContext(ConnectionString, _elasticSearchMappingResolver)) 
     { 
      //var addressItem = _elasticsearchContext.SearchById<SkillWithListOfDetails>(updateId); 
      //var entityAddress = _entityFrameworkContext.Address.First(t => t.Id == addressItem.Id); 
      try 
      { 
       var skill = context.GetDocument<SkillWithListOfDetails>(updateId); 

       skill.Updated = DateTime.UtcNow; 
       skill.Name = updateName; 
       skill.Description = updateDescription; 
       skill.SkillDetails = updateSkillDetailsList; 

       foreach (var item in skill.SkillDetails) 
       { 
        item.Updated = DateTime.UtcNow; 
       } 

       context.AddUpdateDocument(skill, skill.Id); 
       context.SaveChanges(); 
      } 
      catch(Exception e) 
      { 
       throw e; 
      } 

     } 
    } 

,我在這行代碼得到異常: -

變種技能= context.GetDocument(updateId);

+0

錯誤的這部分是對我有意思: [// skillwithlistofdetailss/skillwithlistofdetails/1] 你指定你隨時隨地指數以某種方式在這段代碼之前(默認索引)?此外,URI具有技能列表的事實有兩個「s」。那是故意的嗎? – Miek

+0

是的,我做到了這一點....通過這段代碼,我可以得到索引值的意義GET http:// localhost:9200/skillwithlistofdetailss/skillwithlistofdetails/_search – karan

+0

您是否可以編輯問題以提供索引結構爲我們? – Miek

回答

0

索引/類型名稱似乎有問題嗎?該錯誤消息說:「爲uri [// skillwithlistofdetailss/skillwithlistofdetails/1]和方法[GET]找到ElasticSearchContextGet:HttpStatusCode.BadRequestNo處理程序:」。

檢查您的索引和類型是否正確。

指數:skillwithlistofdetailss

類型:skillwithlistofdetails

相關問題