.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的基本用法已經說完了。由龐順龍最後編輯於:4年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- .Net 下 Solr 入門學習系列(三)Solr管理控制檯使用Solr
- .Net 下 Solr 入門學習系列(一)Solr簡介Solr
- .Net 下 Solr 入門學習系列(二)Solr安裝Solr
- .Net 下 Solr 入門學習系列(四)Solr查詢引數整理Solr
- Solr分頁與高亮(使用SolrNet實現)Solr
- ASP.Net Core 2.2 MVC入門到基本使用系列 (五)ASP.NETMVC
- Solr 入門Solr
- mybatis 學習--mybatis基本用法入門MyBatis
- maven學習(上)- 基本入門用法Maven
- JavaScript新手入門學習系列JavaScript
- gRPC入門學習之旅(五)RPC
- 學習筆記|AS入門(五) 高階控制元件篇(下)筆記控制元件
- 雲原生入門 第五章:kubernetes學習實踐
- 《深度學習入門:》學習基本第一章深度學習
- 學習.NET 8 MiniApis入門API
- 【Mysql學習】mysql的使用入門MySql
- 【Mysql 學習】mysql 的使用入門MySql
- 前端學習 node 快速入門 系列 —— npm前端NPM
- Spring學習筆記五: AOP入門Spring筆記
- promise入門基本使用Promise
- windows下學習nsq,以及基本使用概念Windows
- 前端學習 node 快速入門 系列 —— 模組(module)前端
- Docker 快速入門系列-Docker 的基本組成Docker
- Solr入門和實踐以及我對Solr的8點理解Solr
- Solr學習總結(二)Solr的安裝與配置Solr
- RabbitMQ .NET訊息佇列使用入門(五)【RabbitMQ例子】MQ佇列
- ADO.NET入門學習備忘
- Netty入門系列(3) --使用Netty進行編解碼的操作Netty
- MySQL學習筆記---入門使用MySql筆記
- 深度學習入門筆記——Transform的使用深度學習筆記ORM
- 從0到1使用Kubernetes系列——Kubernetes入門
- 微軟企業庫5.0 學習之路——基本入門(轉 )微軟
- 深入學習Netty(4)——Netty程式設計入門Netty程式設計
- 小豬的C語言快速入門系列(五)C語言
- solr全文檢索學習Solr
- Java IO學習筆記八:Netty入門Java筆記Netty
- Asp.Net Core學習筆記:入門篇ASP.NET筆記
- 入門Java要學習的一些基本和高階工具Java