.Net 下 Solr 入門學習系列(五)SolrNet的基本使用
.Net 下 Solr 入門學習系列(五)SolrNet的基本使用
本文使用SolrNet實現,主要是它使用非常方便,一直都在更新。其他的客戶端還有easynet.solr等。
demo見附件~
1、新建.net控制檯程式(自行處理,此處略過)
2、新增SlorNet,自行nuget
注意:SolrNet 依賴HttpWebAdapters.dll和Microsoft.Practices.ServiceLocation.dll,所以,如果編譯或者測試有問題,引用這兩個dll 檔案應該就ok了。
3、新增商品實體和索引欄位
public class Product { [SolrUniqueKey("id")] public int id { get; set; } [SolrField("name")] public string name { get; set; } [SolrField("title")] public string title { get; set; } [SolrField("category")] public string category { get; set; } [SolrField("content")] public string content { get; set; } [SolrField("price")] public double price { get; set; } [SolrField("color")] public string color { get; set; } [SolrField("updatetime")] public DateTime updatetime { get; set; } [SolrField("orderBy")] public int orderBy { get; set; } }
schema.xml中也要加上相應的Filed 欄位,開啟solr_home\mycore1\conf 下的schema.xml檔案,增加如下Field 配置,如果不知道如何操作,請參考:.Net 下 Solr 入門學習系列(二)Solr安裝
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" /> <field name="name" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="title" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="category" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="content" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="price" type="double" indexed="true" stored="true" required="true" multiValued="false" /> <field name="color" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="orderBy" type="int" indexed="true" stored="true" required="true" multiValued="false" /> <field name="updatetime" type="date" indexed="true" stored="true" required="true" multiValued="false" />
4、呼叫solrnet,Startup.Init<Product>("http://localhost:8088/solr/mycore1");
5、增加和修改索引(document(s)),Solr索引的增加和修改,都是使用Add()方法,有就修改,沒有就會自動新增。
//增加、修改solr索引 var p = new Product() { id = 1, name = "product 1", title = "title 1", category = "1", content = "title 1 green", color = "green", price = 100, updatetime = DateTime.Now.AddDays(1), orderBy = 1 }; solr.Add(p); solr.Commit();
F5執行程式成功後,solr控制檯query下,就可以看到剛才新增的索引咯~
6、刪除索引,solrnet 重寫了多個delete()方法。這裡只簡單測試一個。
//刪除索引 var p = new Product() { id = 1, }; solr.Delete(p); solr.Commit();
注意:呼叫 Add() 或是 Delete()方法,必須在他們之後加上Commit()。
7、簡單查詢
//查詢 SolrQueryResults<Product> phoneTaggedArticles = solr.Query(new SolrQuery("id:1")); foreach (Product p in phoneTaggedArticles) { Console.WriteLine(string.Format("{0}: {1}", p.id, p.title)); } Console.ReadLine();
查詢結果如下:
到這裡,在net中Solrnet的基本用法已經說完了。由請喊我大龍哥最後編輯於:3年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- .Net 下 Solr 入門學習系列(三)Solr管理控制檯使用Solr
- .Net 下 Solr 入門學習系列(一)Solr簡介Solr
- .Net 下 Solr 入門學習系列(二)Solr安裝Solr
- .Net 下 Solr 入門學習系列(四)Solr查詢引數整理Solr
- ASP.Net Core 2.2 MVC入門到基本使用系列 (五)ASP.NETMVC
- Solr 入門Solr
- 學習.NET 8 MiniApis入門API
- gRPC入門學習之旅(五)RPC
- JavaScript新手入門學習系列JavaScript
- 《深度學習入門:》學習基本第一章深度學習
- RabbitMQ .NET訊息佇列使用入門(五)【RabbitMQ例子】MQ佇列
- promise入門基本使用Promise
- 前端學習 node 快速入門 系列 —— npm前端NPM
- Docker 快速入門系列-Docker 的基本組成Docker
- Asp.Net Core學習筆記:入門篇ASP.NET筆記
- solr全文檢索學習Solr
- 深度學習入門筆記——Transform的使用深度學習筆記ORM
- 深度學習入門筆記——DataLoader的使用深度學習筆記
- MySQL學習筆記---入門使用MySql筆記
- 【C#入門超簡單】基本的.NET框架概念C#框架
- Sass 的入門安裝和基本使用
- ffmpeg入門篇-濾鏡的基本使用
- 前端學習 node 快速入門 系列 —— 模組(module)前端
- 五個給機器學習和資料科學入門者的學習建議機器學習資料科學
- vuex 基本入門和使用(二)Vue
- Go語言入門系列(五)之指標和結構體的使用Go指標結構體
- .Net5 WPF快速入門系列教程
- 入門Java要學習的一些基本和高階工具Java
- MySQL入門系列:資料庫和表的基本操作MySql資料庫
- MyBatis入門學習-連線oracle實現CURD基本操作MyBatisOracle
- Mybatis-基本學習(下)MyBatis
- TensorFlow.NET機器學習入門【8】採用GPU進行學習機器學習GPU
- OpenGL 學習系列---基本形狀的繪製
- 前端學習 node 快速入門 系列 —— 報名系統 - [express]前端Express
- 前端學習 node 快速入門 系列 —— 簡易版 Apache前端Apache
- 前端學習 node 快速入門 系列 —— 服務端渲染前端服務端
- 前端學習 node 快速入門 系列 —— 初步認識 node前端
- 雲原生入門 第五章:kubernetes學習實踐