zoukankan      html  css  js  c++  java
  • Lucene 2.0最基本的入门代码

    public void Test1()
            
    {
                
    //建立一个内存目录
                Lucene.Net.Store.RAMDirectory ramDir = new Lucene.Net.Store.RAMDirectory();

                
    //建立一个索引书写器
                IndexWriter ramWriter = new IndexWriter(ramDir,new ChineseAnalyzer(), true);

                
    //要索引的词/文件(把下面的每个字符串换成每个文件的内容即可)
                string[] words = {"中华人民共和国""人民共和国""人民","共和国"};  

                
    //循环数组,创建文档,给文档添加字段,并把文档添加到索引书写器里
                Document doc = null;  
                
    for (int i = 0; i < words.Length; i++)
                
    {
                    doc 
    = new Document();
                    doc.Add(Field.Text(
    "contents", words[i]));
                    ramWriter.AddDocument(doc);
                }


                
    //索引优化
                ramWriter.Optimize();

                
    //关闭索引读写器,一定要关哦,按理说应该把上面的代码用try括主,在finally里关闭索引书写器
                ramWriter.Close();

                
    //构建一个索引搜索器
                IndexSearcher searcher = new IndexSearcher(ramDir);

                
    //用QueryParser.Parse方法实例化一个查询
                Query query = QueryParser.Parse("人民""contents"new ChineseAnalyzer());

                
    //获取搜索结果
                Hits hits = searcher.Search(query);

                
    //判断是否有搜索到的结果,当然你也可以遍历结果集并输出
                
    //if (hits.Length() != 0)
                
    //    MessageBox.Show("有");
                
    //else
                
    //    MessageBox.Show("没有");
                for (int i = 0; i < hits.Length(); i++)
                
    {
                    Document _doc 
    = hits.Doc(i);
                    MessageBox.Show(_doc.Get(
    "contents"));
                }

            }


    当然提前是得引用
    using Lucene.Net.Documents;
    using Lucene.Net.Index;
    using Lucene.Net.Search;
    using Lucene.Net.QueryParsers;
    using Lucene.Net.Analysis.Cn;


    Lucene2.0的DLL下载地址
    http://bbs.cntvs.com/space/upload/2007/12/28/9384490935667.rar
    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    juc线程池原理(六):jdk线程池中的设计模式
    阻塞队列之一:BlockingQueue汇总
    阻塞队列之二:LinkedTransferQueue
    遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置
    Spring 3.1新特性之一:spring注解之@profile
    ThreadPoolExecutor之三:自定义线程池-扩展示例
    守护线程
    cookie跨域问题汇总
    线程组ThreadGroup
    Eclipse中设置JDK、${user}变量
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1018672.html
Copyright © 2011-2022 走看看