SolrNet的基本用法及CURD

2021-01-30 09:14

阅读:556

标签:inf   安装与配置   adapter   git   color   width   name   start   target   

SolrNet使用非常方便,而且用户众多,一直都在更新,感兴趣的可以加入他们的邮件群组,方便迅速了解SolrNet的最新动态。

 

  SorlNet源码地址:https://github.com/mausch/SolrNet

  SolrNet使用说明文档:https://github.com/mausch/SolrNet/tree/master/Documentation

 

  一、创建一个项目控制台程序,并引用SolrNet.dll。Demo下载

    技术图片

  注意:SolrNet 依赖HttpWebAdapters.dll和Microsoft.Practices.ServiceLocation.dll 这两个dll 文件,所以,如果编译或者测试有问题,引用这两个dll 文件应该就ok了。

 

  二、在solr 的schema.xml 增加相关的Filed 字段,同时创建一个实体类,与schema.xml中的Filed 字段映射。

技术图片
   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 配置,如果不知道如何操作,请参考前一篇文章,《Solr学习总结(二)Solr的安装与配置》

技术图片
   
技术图片

  

  三、开始调用solrnet:

      1.初始化

   Startup.Init("http://localhost:8080/solr/mycore1");

    

    2.增加和修改索引(document)

      Solr 索引的增加和修改,都是Add() 方法,solr 会自动判断是否存在此所以,有就修改,没有就新增。

技术图片
     ISolrOperations solr = ServiceLocator.Current.GetInstance>();

         var p = new Product()
             {
                 id = 201,
                 name = "product 201",
                 title = "title 201",
                 category = "201",
                 content = "title 201 green",
                 color = "green",
                 price = 67.92,
                 updatetime = DateTime.Now.AddDays(-101),
                 orderBy = 101
             };
        solr.Add(p);
        solr.Commit();
技术图片

    

    3. 删除索引

      solrnet 重写了多个 delete()方法。这里只介绍一个,其他的自己研究吧。

技术图片
     ISolrOperations solr = ServiceLocator.Current.GetInstance>();

        var p = new Product()
        {
             id = 201,
        };

        solr.Delete(p);
        solr.Commit();
技术图片

    注意:调用 Add() 或是 Delete()方法,必须在他们之后加上  Commit(),否是请求是不会被处理的。

 

    4.查询

技术图片
            ISolrOperations solr = ServiceLocator.Current.GetInstance>();

            SolrQueryResults phoneTaggedArticles = solr.Query(new SolrQuery("id:1"));

            foreach (Product p in phoneTaggedArticles)
            {
                Console.WriteLine(string.Format("{0}: {1}", p.id, p.title));
            }
            Console.WriteLine();
技术图片

 

     到这里,Solrnet的基本用法已经说完了,下一篇,将聊聊Solr的一些高级用法,solr 的复杂查询,高亮,Facet分组查询等。

SolrNet的基本用法及CURD

标签:inf   安装与配置   adapter   git   color   width   name   start   target   

原文地址:https://www.cnblogs.com/vcing/p/13196312.html

上一篇:http

下一篇:数据采集flume kafka


评论


亲,登录后才可以留言!