回到顶部

.Net 下 Solr 入门学习系列(五)SolrNet的基本使用

时间:4年前   作者:庞顺龙   浏览:1969   [站内原创,转载请注明出处]

标签: 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.80iter.com All Rights Reserved. 京ICP备14042174号-1
本站遵循 CC BY 4.0 协议,转载请注明出处 。