回到頂部

.Net 下 Solr 入門學習系列(五)SolrNet的基本使用

時間:4年前   作者:龐順龍   瀏覽:2197   [站內原創,轉載請注明出處]

標簽: Solr  

.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人立場,如涉及侵權,請及時告知。

評論努力加載中...
暫無評論
暫無評論

手機掃碼閱讀

熱門相關

加載中...
關于我們   聯系我們   申請友鏈   贊助記錄   站點地圖
? 2014 - 2017 www.1255315.live All Rights Reserved. 京ICP備14042174號-1
本站遵循 CC BY 4.0 協議,轉載請注明出處 。
辽宁十一选五走实图 内蒙古11选五开奖结果走势图 北京十一选五前三直选 股票配资平台搭建 中国福利彩票快乐10分规律 四川金7乐开奖走势 新疆11选5开一奖查询_ 信誉时时彩平台排行榜 比亚迪股票行情 黑龙江11选五手机版 重庆时时全天计划qq群