Пример #1
0
        private void InitApplication()
        {
            var indices = Directory.GetFiles(@"E:\DEVP\5.xIR_1.1\4.Tags\文档管理\综合版\综合版071", "*.txt", SearchOption.AllDirectories)
                          .Select(file => IndexModelFactory.CreateIndexModel(file))
                          .ToList();

            LuceneNetAssist.Singleton.InitIndices(indices);
        }
Пример #2
0
        /// <summary>
        /// 搜索
        /// </summary>
        /// <param name="keyword"></param>
        /// <returns></returns>
        public List <IIndexModel> Search(string keyword)
        {
            //查询字段
            string[]      fileds   = { nameof(IIndexModel.Index), nameof(IIndexModel.Description), nameof(IndexModel <string> .AttachedEntity) };
            QueryParser   parser   = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_30, fileds, this.Analyzer);
            Query         query    = parser.Parse(keyword);
            IndexSearcher searcher = new IndexSearcher(this.Directory, true);
            TopDocs       docs     = searcher.Search(query, 50);

            return(docs.ScoreDocs
                   .Select(hit =>
            {
                var doc = searcher.Doc(hit.Doc);
                return IndexModelFactory.CreateIndexModel(doc);
            })
                   .ToList());
        }