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);
  • 相关阅读:
    通知advice
    通知advice
    springmvc+mybatis需要的jar包与详解
    sass参考手册
    Mapper
    排序
    常见设计模式
    JavaScript之事件循环,宏任务与微任务
    字符串翻转
    eeeeeeeeeeeeeeeeeeeeee
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/8330335.html
Copyright © 2011-2022 走看看