[踩過的坑]Elasticsearch.Net 官網示例的坑

  通過昨天的ElasticSearch 安裝,服務以及能夠啓動了,接下來就能夠開發了,找到了官網提供的API以及示例,Es 官方提供的.net 客戶端有兩個版本一個低級版本: 【Elasticsearch.Net.dll】這個dll文件官方解釋無依賴關係的客戶端,對於您如何構建和表示您的請求和相應沒有任何意見;它足夠抽象,所以全部的ElasticSearch API端點都表示爲方法,不會妨礙你構建json、reque、response 對象方式,它還帶有內置的,可配置、可覆蓋的集羣故障轉移、重試機制。html

  另外一個高級版本: 【Nest.dll】 是一個高級客戶端、具備映射全部請求和響應對象的優點,附帶強類型查詢DSL,並利用特定的.Net功能,如協變結果和POCO的自動映射;Nest內部包含了Elastic.net 版本;json

   

而後兩個DLL文件的安裝命令以下:api

  安裝ElasticSearch.net.dll命令:Install-Package Elasticsearch.Netelasticsearch

  安裝nest.dll命令:Install-Package NESTide

 

命令運行以後,vs 會下載最新版本的dall文件,必定要注意版本號,這個就是後面的大坑,本身好不容易爬出來ui

 

而後,就開始代碼編寫了,怎麼寫?難道寫個「hello,word」?NO,NO,剛接觸,沒辦法,只有去抄了,去哪裏抄,固然是官網了,官網示例:https://www.elastic.co/guide/en/elasticsearch/client/net-api/5.x/elasticsearch-net-getting-started.htmlspa

,在抄的過程當中,必定要理解並加以思考,在實際項目裏面靈活運用。.net

 

爲了操做方便,先弄一個Winfrom 程序,拉一個窗體,再來個按鈕,觸發個Click事件,而後,在添加引用,把剛剛下載的兩個Dll文件添加到項目中;好了,一切準備就緒,開始上菜了!3d

 

代碼就不貼了,都是官網示例中的代碼;htm

而後,程序就尚未運行,就報錯了,這心情,我擦,這但是剛起步,這但是徹底按照官網示例去寫的,居然報錯!!!

 

錯誤提示:people 沒法轉換爲 「Elasticsearch.Net.IndexRequestParameters 」

 

而後就各類途徑找解決方案,中午吃飯的時候還在想,這官網真坑,案例都是錯的,最後,在瀏覽官網的時候注意到一個東西,就是菜單選項。.NET API 版本號

 

 

心想,會不會跟版本號有關係,反正找不到解決方法,只有試一試了,而後又去看了下,下載的dll文件;

 

這下,確定了個人想法,下載的dll版本是6.4.0 的,看的官網示例是5.X 的;

 

而後,把官網示例切換到6.X,而後把官網代碼照着寫了一遍,而後能夠能夠成功運行了;來看下運行後的數據結果(插入數據的代碼示例);

 

 

 

至此,算是入門了,折騰了那麼久,必定要寫篇博客記錄下,以避免別人也遇到這種事情;

相關文章
相關標籤/搜索