lucene.net 收索

这是 lucene.net 的下载地址

http://www.apache.org/dist/incubator/lucene.net/

下面代码出自  http://blog.youkuaiyun.com/aspgreener/article/details/6073691

版本 Lucene.Net-2.9.2

  private const string INDEXDIRECTORY = @"D:/DOTNET/Lucene/MyLuceneDemo/MyLuceneDemo/Demo_Index";
   /// <summary>  
        /// 搜索  
        /// </summary>  
        /// <param name="queryString">搜索输入</param>  
        private void Searcher(string queryString) {  
            Directory directory = FSDirectory.Open(new System.IO.FileInfo(INDEXDIRECTORY));  
            IndexReader reader = IndexReader.Open(directory, true);  
            Analyzer analyzer = new PanGuAnalyzer();  
            IndexSearcher searcher = new IndexSearcher(reader);  
            QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "content", analyzer);  
            Query query = parser.Parse(queryString);  
            TopScoreDocCollector collector = TopScoreDocCollector.create(searcher.MaxDoc(), false);  
            searcher.Search(query, collector);  
            ScoreDoc[] hits = collector.TopDocs().scoreDocs;  
            for (int i = 0; i < collector.GetTotalHits(); i++) {  
                Document doc = searcher.Doc(hits[i].doc);  
                Console.WriteLine(doc.Get("content") + "_得分:" + hits[i].score.ToString("f2"));  
            }  
        }  
        /// <summary>  
        /// 索引数据  
        /// </summary>  
        private void Index() {  
            Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(INDEXDIRECTORY),new SimpleFSLockFactory());  
            Analyzer analyzer = new PanGuAnalyzer();  
            IndexWriter writer = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.LIMITED);  
            AddDoc(writer, "测试标题一", "测试内容一", 1.0f);  
            AddDoc(writer, "测试标题二", "测试内容二", 1.0f);  
            AddDoc(writer, "测试标题三", "测试内容三", 1.0f);  
            AddDoc(writer, "测试标题四", "测试内容四", 1.0f);  
            writer.Optimize();  
            writer.Close();  
              
        }  
        /// <summary>  
        /// 为索引准备数据  
        /// </summary>  
        /// <param name="writer">索引实例</param>  
        /// <param name="title">需要索引的数据</param>  
        /// <param name="content">需要索引的数据</param>  
        /// <param name="boost">文档权重</param>  
        private void AddDoc(IndexWriter writer, string title, string content, float boost) {  
            Document doc = new Document();  
            doc.Add(new Field("title", title, Field.Store.YES, Field.Index.ANALYZED));  
            doc.Add(new Field("content", content, Field.Store.YES, Field.Index.ANALYZED));  
            doc.SetBoost(boost);  
            writer.AddDocument(doc);  
        } 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值