代碼: https://github.com/damienbod/ElasticsearchCRUD (我fork的地址 https://github.com/wtujvk/ElasticsearchCRUD)
NuGet Package: https://www.nuget.org/packages/ElasticsearchCRUD/
問題: https://github.com/damienbod/ElasticsearchCRUD/issuesgithub
教程:web
- ElasticsearchCRUD 介紹
- 使用自動完成、jQuery和JTALE的簡單文檔搜索MVC應用程序
- 具備嵌套文檔的MVC搜索的CRUD
- 利用實體框架從MS SQL Server獲取數據傳輸到Elasticsearch
- 帶有子文檔的MVC的搜索
- 基於實體框架和搜索的MVC應用
- 實時重建Elasticsearch的索引
- 基於搜索和Web API導出CSV
- 父、子、孫子記錄和路由的檢索
- Elasticsearch的類型映射到ElasticsearchCRUD
- 使用搜索語句的搜索同義詞分析器
- 使用德國分析器搜索
- 基於谷歌的MVC地圖搜索
- 查詢和過濾的搜索功能
- Elasticsearch批量插入
- Elasticsearch聚合搜索
- 多個Index和Type的搜索
- 搜索高亮
- 索引權重
舉例:sql
簡單自動完成搜索 (我fork的 https://github.com/wtujvk/WebSearchWithElasticsearch)數據庫
本示例演示如何使用具備jQuery自動完成和Elasticsearch簡單文檔的MVC應用程序進行簡單搜索。api
使用ElasticsearchCRUD查詢嵌套文檔 (個人fork: https://github.com/wtujvk/WebSearchWithElasticsearchNestedDocuments)mvc
這個例子使用了搜索嵌套文檔。文檔能夠被建立、刪除、更新或搜索。自動完成搜索搜索文檔以及嵌套對象。app
MVC應用程序中的搜索父子文檔 (個人fork: https://github.com/wtujvk/WebSearchWithElasticsearchChildDocuments)
這個例子使用了彈性搜索子/父文檔。全部文檔都保存在同一索引中,每一個索引都有不一樣的類型。子文檔和父文檔保存在同一碎片上。可使用全部子文檔進行CRUD操做或搜索子/父文檔。框架
經過從MS SQLServer 2014經過EF傳輸到Elasticsearch
這個例子展現瞭如何在彈性搜索中將實體傳遞給文檔。這些實體被保存到Elasticsearch。
此示例演示如何使用實體框架做爲主數據庫,以及如何在MVC應用程序中使用Elasticsearch進行搜索。當實體框架更改、刪除或更新實體時,應用程序須要在搜索引擎中建立、更新、刪除文檔。
重建索引
此示例演示如何在搜索中執行實況重索引。沒有停工時間。使用別名訪問舊索引。新索引是使用掃描和滾動和文檔映射器從舊索引建立的。而後將別名切換爲訪問新索引。而後,若是須要,能夠刪除舊索引。
從Elasticsearch(掃描和滾動)經過Web API導出 CSV
這個例子展現瞭如何從Elasticsearch(X搜索掃描和滾動)導出數據到Web API做爲CSV文件(使用WebApPixTrim.Faltuut.Xlsx)。使用Simulalr實時顯示導出。該示例還提供了用於彈性檢索的SignalR TraceProvider。
ConsoleElasticsearchCrudExample
一個 基本的CRUD示例。
ElasticsearchCRUD.Integration.Test
集成測試顯示了大量的彈性搜索實例。
Damienbod.AnimalProvider
示例顯示映射配置。
爲何使用 ElasticsearchCRUD?
我須要一個簡單的方法來添加、更新或刪除個人應用程序實體到彈出式搜索文檔中。單個上下文能夠與許多實體類型一塊兒工做,而且能夠根據須要很是容易地進行調整,例如對全部屬性進行小寫,或者能夠定義任何特定的映射。ElasticLINQ目前不提供CRUD操做,儘管您可使用NEST知足幾乎任何要求(我也認爲它是一個很好的API),可是我發現它太複雜了,不能使用。