zoukankan      html  css  js  c++  java
  • 【转帖】Solr.Net的使用

    https://github.com/mausch/SolrNet/blob/master/Documentation/Basic-usage.md

    Basic usage

    First, we have to map the Solr document to a class. Let's use a subset of the default schema that comes with the Solr distribution:

    public class Product {
        [SolrUniqueKey("id")]
        public string Id { get; set; }
    
        [SolrField("manu_exact")]
        public string Manufacturer { get; set; }
    
        [SolrField("cat")]
        public ICollection<string> Categories { get; set; }
    
        [SolrField("price")]
        public decimal Price { get; set; }
    
        [SolrField("inStock")]
        public bool InStock { get; set; }
    }
    

    It's just a POCO with some attributes: SolrField maps the attribute to a Solr field and SolrUniqueKey (optional but recommended) maps an attribute to a Solr unique key field.

    Now we'll write some tests using this mapped class. Let's initialize the library:

    [TestFixtureSetUp]
    public void FixtureSetup() {
        Startup.Init<Product>("http://localhost:8983/solr");
    }
    

    Let's add a document (make sure you have a running Solr instance before running this test):

    [Test]
    public void Add() {
        var p = new Product {
            Id = "SP2514N",
            Manufacturer = "Samsung Electronics Co. Ltd.",
            Categories = new[] {
                "electronics",
                "hard drive",
            },
            Price = 92,
            InStock = true,
        };
    
        var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
        solr.Add(p);
        solr.Commit();
    }
    

    Let's see if the document is where we left it:

    [Test]
    public void Query() {
        var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
        var results = solr.Query(new SolrQueryByField("id", "SP2514N"));
        Assert.AreEqual(1, results.Count);
        Console.WriteLine(results[0].Price);
    }
    
  • 相关阅读:
    VC++6.0编译环境介绍
    (六)flask搭建博客系列之HTTPTokenAuth
    (五)flask搭建博客系列之LoginManager
    (四)flask搭建博客系列之FlaskForm
    (三)flask搭建博客系列之BootStrap
    (二)flask搭建博客系列之SQLAlchemy
    (一)flask搭建博客系列之环境项目搭建
    (十)python语法之图像处理
    (九)python语法之机器学习
    (八)python语法之Tkinter
  • 原文地址:https://www.cnblogs.com/yanyuge/p/3369602.html
Copyright © 2011-2022 走看看