zoukankan      html  css  js  c++  java
  • lucene 根据 id 获取索引内容(C# / .NET)

    封装代码如下:

            public MakerArtiImodel GetIndexModelById(int id)
            {
                string indexPath = StrHelper.rootPath + "XXXX/Index";
                FSDirectory directory = FSDirectory.Open(new DirectoryInfo(indexPath), new NoLockFactory());
                IndexReader reader = IndexReader.Open(directory, true);             //创建一个索引库读取对象
                IndexSearcher searcher = new IndexSearcher(reader);                 //创建一个搜索对象
    
                Term term = new Term("Id", id.ToString());
                Query query = new TermQuery(term);
                TopDocs topDocs = searcher.Search(query, 1);
    
                MakerArtiImodel mai = null;
    
                foreach (ScoreDoc scoreDoc in topDocs.ScoreDocs)
                {
                    int docNum = scoreDoc.Doc;      //这里的docNum是在这个集合中的索引号
                    Document doc = searcher.Doc(docNum);
                    mai = new MakerArtiImodel
                    {
                        Id = id,
                        Title = doc.Get("Title"),
                        splendidContent = doc.Get("splendidContent"),
                        categoryName = doc.Get("categoryName"),
                        matchedTrade = doc.Get("matchedTrade"),
                        postTime = Convert.ToDateTime(doc.Get("postTime")),
                    };
                }
    
                return mai;
            }

    调用:

        MakerArtiImodel mai = MakerArtiIManager.Instance.GetIndexModelById(articleId);
  • 相关阅读:
    [Effective C++]条款01:视C++为一个语言联邦
    DOTNET
    simulation
    掩码
    motorsimsrc
    Unprivileged User's Account
    LAN WAN
    calloc malloc realloc
    useradd
    change user ID and group ID
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/8330335.html
Copyright © 2011-2022 走看看