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); }
/// <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()); }