`
qpshenggui
  • 浏览: 14185 次
  • 性别: Icon_minigender_1
  • 来自: 襄阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

lucene IndexSearcher实现搜索

阅读更多

public static void main(String args[]) throws CorruptIndexException,IOException, ParseException {
        // IndexSearcher是实现搜索的关键
        IndexSearcher searcher = new IndexSearcher(FSDirectory.open(new File("X:/jspublisher/doc/entryindex")), true);
        /*       
         //多条件
            BooleanQuery bQuery = new BooleanQuery();
            Query query1 = null;
            BooleanClause.Occur[] flags = new BooleanClause.Occur[] {BooleanClause.Occur.SHOULD,BooleanClause.Occur.SHOULD};
            query1 = MultiFieldQueryParser.parse(Version.LUCENE_29,"如何", new String[] {"ENTRY_NAME","DESC1"}, flags, new IKAnalyzer());
            bQuery.add(query1, Occur.MUST);
        */
        //模糊查询
       Term term1 = new Term("ENTRY_NAME","数"+"~");
      // Term term1 = new Term("DESC0","goog");
       FuzzyQuery query = new FuzzyQuery(term1,0.1f,1);
      
        //精确匹配
/*        // query代表查询对象
        Query query = null;
        // 查询解析器, 将查询content字段
        QueryParser parser = new QueryParser(Version.LUCENE_29,"DESC", new IKAnalyzer());
        query = parser.parse(queryStr);
        // 搜索结果保存在TopScoreDocCollector.
*/        TopScoreDocCollector c = TopScoreDocCollector.create(100, true);
        // 搜索
        searcher.search(query, c);
   
        // 得到满足条件的文档总数
        System.out.println("总共搜索到 " + c.getTotalHits() + " 个资源。");
        // 得到文档集合
        ScoreDoc[] docs = c.topDocs(0, c.getTotalHits()).scoreDocs;
       
        //存储符合条件的记录 
        int startIndex = 0,endIndex = 10; //startIndex、endIndex做为分页用
       
        ArrayList<String> list=new ArrayList<String>(); 
        for (int i = startIndex;i < endIndex && i < docs.length; i++) {
            Document documents = searcher.doc(i);
            int sum = Integer.parseInt(documents.get("DESC_COUNT"));
            //注解
            for(int a = 0 ;a < sum ;a++ ){
                //Document documentss = searcher.doc(a);
                System.out.println("count_desc--"+documents.get("DESC"+a));
            }
                Document document=searcher.doc(docs[i].doc);
                int did = docs[i].doc;
                String d = String.valueOf(did);
                list.add(d);
                System.out.println("文档id: " + docs[i].doc+" 评分: "+docs[i].score+" 内容: "+document.get("ENTRY_NAME"));
        }
        System.out.println(list);
    }

1
2
分享到:
评论
1 楼 qpshenggui 2011-09-07  
还可以,看看

相关推荐

    lucene IndexSearcher相关和查询示例

    一步一步跟我学习lucene是对近期做lucene索引的总结,大家有问题的话联系本人的Q-Q: 891922381,同时本人新建Q-Q群:106570134(lucene,solr,netty,hadoop),如蒙加入,不胜感激,大家共同探讨,本人争取每日一博,...

    Lucene示例 BM25相似度计算

    用lucene 4.7.1做的一个Lucene构建索引、进行查询,对比默认的相似度计算与BM25相似度计算输出结果的示例。内容不多,供新手参考

    Lucene 索引的简单使用

    Lucene创建索引,查询索引的简单使用。

    利用lucene进行搜索

    利用lucene进行搜索,IndexSearcher是整个Lucene搜索查询相关信息的驱动引擎,在使IndexSearcher之前,需要构建IndexSearcher对象,Lucene提供了两种构建IndexSearcher对象的方式: 1、基于Directory对象构建; 2...

    lucene查询工具类和IndexSearcher分页查询示例

    一步一步跟我学习lucene是对近期做lucene索引的总结,大家有问题的话联系本人如蒙加入,不胜感激,大家共同探讨,本人争取每日一博,希望大家持续关注,会带给大家惊喜的

    基于lucene的搜索引擎总结

    浅谈网络搜索引擎的实现 知识管理系统网络搜索模块开发实践交流 功能需求 可自定义要搜索的网站列表(以下简称目标列表) 可对目标列表网站的网页内容进行检索 可对目标列表网站的网页内容进行自动分类处理 可自定义...

    Lucene 3.6 学习笔记

    (2) 创建IndexSearcher 8 (3) 创建Term和TermQuery 9 (5) 根据TopDocs获取ScoreDoc 9 (6) 根据ScoreDoc获取相应文档 9 3.2 其他搜索 9 (1) 范围查询(TermRangeQuery) 10 (2) 数字查询(NumericRangeQuery) 11 (3)...

    lucene2.9.1完整DEMO及开发文档

    Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT); //创建一个语法分析器 IndexWriter iwriter = null; Directory directory = null; try { directory = FSDirectory.open(destDir); //...

    lucene第一天完整代码

    IndexSearcher indexSearcher = getIndexSearcher(); BooleanQuery booleanQuery = new BooleanQuery(); Query query1 = new TermQuery(new Term("fileName","apache")); Query query2 = new TermQuery(new ...

    Apache Lucene全文检索和IKAnalyzer分词工具类

    import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.wltea.analyzer.IKSegmentation; import org.wltea.analyzer.Lexeme; /** * Apache Lucene全文检索和IK...

    struts2 + spring + lucene_search 实例

    import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; /** * 张超 * ago52030@163.com * @author Administrator * */ public class WareSearch { public Hits search...

    lucene2.9.1所有最新开发包及源码及文档

    提供了索引搜索器IndexSearcher类和各种Query类,如TermQuery、BooleanQuery等。 6) queryParser模块:负责查询语句的语法分析。提供了解析查询语句的QueryParser类 7) util模块:包含一些公共工具类。 5. 创建...

    Lucene中文分词组件 JE-Analysis 1.4.0

    import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; public class Segment ...

    Lucene.rar

    关于lucene的indexwriter,indexsearcher,hits,分析器的基础学习。

    Lucene5 工具类

    工具类对IndexWriter,IndexReader,IndexSearcher,Analyzer,QueryParser等Lucene这些常用操作对象的获取进行了封装,其中IndexWriter采用了单例模式,确保始终只有一个对象实例,因为Lucene限制了索引写操作是阻塞的...

    【分享:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    2&gt; 全文检索的实现机制 【1】lucene学习笔记的目录如下 1. 概述 3 2. lucene 的包结构 3 3. 索引文件格式 3 4. lucene中主要的类 4 4.1. Document文档类 4 4.1.1. 常用方法 4 4.1.2. 示例 4 4.2. Field字段类 4 ...

    HaLucene-basic:Haskell中Lucene核心功能的基本实现。 将随着时间的推移而延长

    第一部分是使用StandardAnalyzer,IndexWriter,IndexSearcher和单词Autocorrect实现Lucene库的核心。 这些模块中的每个模块都包含HaLucene库的函数,可与简单示例一起使用。 一切将仅以英语进行。 第二部分是通过...

    learn-lucene:lucene学习

    lucene_learnlucene学习day_01:索引创建的步骤:创建directory创建IndexWriter创建Document为Document添加Field通过IdexUriter添加文档到索引中搜索的步骤:创建directory创建IndexReader根据IndexReader创建...

    lunces入门资料

    搜索流程中的第二步就是构建一个Query。下面就来介绍Query及其构建。 当用户输入一个关键字,搜索引擎... IndexSearcher对象的search方法中总是需要一个Query对象(或是Query子类的对象),本节就来介绍各种Query类。

    中文分词工具word-1.0,Java实现的中文分词组件多种基于词典的分词算法

    word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。 同时提供了Lucene...

Global site tag (gtag.js) - Google Analytics