`

lucene2.0学习文档九

阅读更多
2.多域搜索 MultiFieldQueryParser

1.如果想输入关键字而不想关心是在哪个Field里的就可以用MultiFieldQueryParser了。
用它的构造函数即可后面的和一个Field一样。
MultiFieldQueryParser. parse (String[] queries, String[] fields, BooleanClause.Occur[] flags, Analyzer analyzer)
                                        
第三个参数比较特殊这里也是与以前lucene1.4.3不一样的地方,看一个例子就知道了。
String[] fields = {"filename", "contents", "description"};
BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
BooleanClause.Occur.MUST,//在这个Field里必须出现的
BooleanClause.Occur.MUST_NOT};//在这个Field里不能出现
MultiFieldQueryParser.parse("query", fields, flags, analyzer);
2.多索引搜索 MultiSearcher
在构造的时候传进去一个Searcher数组即可

3.过滤器Filter

看个例子:
public void FilterTest() throws IOException, ParseException {
       IndexWriter indexWriter = new IndexWriter("C:\\FilterTest",new StandardAnalyzer(),true);
       Document doc = new Document();
     doc.add(new Field("name","程序员之家",Field.Store.YES,Field.Index.TOKENIZED));
       indexWriter.addDocument(doc);
       doc=new Document();
       doc.add(new Field("name","程序员杂志",Field.Store.YES,Field.Index.TOKENIZED));
       indexWriter.addDocument(doc);
       indexWriter.close();
       Query query = null;
       Hits hits = null;
       IndexSearcher indexSearcher = new IndexSearcher("C:\\FilterTest");
       QueryParser queryParser = new QueryParser("name",new StandardAnalyzer());
       query = queryParser.parse("程序");
       hits = indexSearcher.search(query,new Filter(){
           @Override
           public BitSet bits(IndexReader reader) throws IOException{
              BitSet bit = new BitSet(reader.maxDoc());
             for(int i=0;i< reader.maxDoc();i++){
                   if(reader.document(i).get("name").enth("杂志"))//将以“杂志”后缀的过滤掉
                       continue;
                       bit.set(i);ks
                    }
              return bit;
          }
       });
       System.out.println(hits.length());
       for(int i=0;i< hits.length();i++){
           doc =hits.doc(i);
            System.out.println(doc.get("name"));
       }
}
这只是一个入门的文档Lucene 2.0的内容还有很多,这里只是介绍了一部分,其它的可以看帮助文档来学习。

lucene的9次博文全部转自:http://hi.baidu.com/liyihz2008/blog/item/34d81cf253cdbf5a342acc4a.html
分享到:
评论

相关推荐

    Lucene-2.0学习文档

    本篇文章将围绕"Lucene-2.0学习文档"的主题,结合Indexer.java、MyScoreDocComparator.java和MySortComparatorSource.java这三个关键文件,深入探讨Lucene的核心概念和实际应用。 首先,我们来看`Indexer.java`。这...

    重要lucene2.0 学习文档

    在 Lucene 2.0 版本中,相比于之前的 1.4.3 版本,有很多改进和优化,但同时也存在向后兼容性问题。2006 年 6 月 1 日发布的 Lucene 2.0,其下载地址是 http://apache.justdn.org/lucene/java/。 下面通过两个示例...

    lucene 2.0 api以及lucene 3.0 api

    同样,`lucene-2.0.CHM` 文件则提供了 Lucene 2.0 的 API 文档,尽管旧版本,但依然能为那些需要维护旧系统或对比学习的开发者提供参考。 总的来说,从 Lucene 2.0 进化到 3.0,主要变化在于性能提升、查询功能增强...

    lucene2.0与其分词工具包

    《Lucene 2.0及其分词工具包详解》 Lucene是一款由Apache软件基金会开发的全文搜索引擎库,专门用于信息检索。它以其强大的搜索功能和高效的性能在...尽管年代久远,Lucene 2.0仍不失为一个值得研究和学习的经典案例。

    开发自己的搜索引擎《lucene2.0+heritrix》一书对应的源码资料

    这里我们关注的是基于开源项目Lucene 2.0和Heritrix的一本书——《开发自己的搜索引擎》的源码资料。Lucene是一个高性能、全文本搜索库,而Heritrix则是一个强大的网页抓取工具,它们共同构成了搜索引擎的基础架构。...

    lucene2.0+Heritrix配套源码

    《lucene2.0+Heritrix配套源码》是一个针对搜索引擎开发的资源包,包含了构建自定义搜索引擎所需的关键组件。Lucene是一个流行的全文搜索引擎库,而Heritrix则是一个强大的网页抓取工具,用于收集互联网上的数据。这...

    开发自己的搜索引擎Lucene2.0+Heritrix

    ### 开发自己的搜索引擎:Lucene ...通过上述介绍,我们不仅了解了 Lucene 和 Heritrix 的基本功能,还学习了如何利用这两个工具构建一个完整的搜索引擎系统。这对于任何希望开发搜索引擎的人来说都是非常宝贵的资源。

    Lucene2.0+Heritrix(源代码)

    总之,通过研究"Lucene2.0+Heritrix"的源代码,开发者不仅可以学习到搜索引擎的基础原理,还能掌握实际操作中的技巧和经验。这是一条通向构建个性化、高效搜索引擎的道路,对于从事信息检索、大数据分析和网站运营的...

    lucene-2.0

    该版本发布于2006年,虽然现在已经有了更新的版本,但Lucene 2.0仍然是许多遗留系统和学习全文检索技术的重要参考。 1. **Lucene的基本架构** Lucene的核心架构包括了索引和查询两个主要部分。索引阶段,Lucene将...

    Lucene.2.0.API

    这份API文档以CHM(Compiled Help Manual)格式呈现,便于开发者快速查阅和学习。 在Lucene 2.0中,主要的知识点包括以下几个核心模块: 1. **索引模块**:这是Lucene的基础,用于构建和管理全文索引。主要包括`...

    Lucene 2.0+Heriterx书源代码-ch7lib

    《深入理解Lucene 2.0与Heritrix:源码剖析》是一本关于搜索引擎开发的经典著作,书中详细讲解了如何使用Lucene 2.0和Heritrix这两个开源工具进行信息检索。在这个名为"Lucene 2.0+Heriterx书源代码-ch7lib"的压缩包...

    《开发自己的搜索引擎-Lucene 2.0 Heritrix》cd(全)(下载地址)

    通过学习Lucene 2.0和Heritrix的相关知识,我们可以构建出一个简单的搜索引擎。首先使用Heritrix爬取目标网站的内容,然后通过Lucene 2.0对这些内容进行索引和搜索。虽然这只是一个基础框架,但它为理解搜索引擎的...

    Lucene2.0+Nutch0.8 API帮助文档(CHM格式)

    《Lucene2.0+Nutch0.8 API帮助文档》是一个综合性的技术资源,它包含了对Lucene 2.0和Nutch 0.8这两个关键的开源搜索引擎库的详细接口和功能说明。这两个组件在信息检索、全文搜索以及网络爬虫领域有着广泛的应用。 ...

    Lucene.Net 2.0 源码+文档

    总的来说,"Lucene.Net 2.0 源码+文档"是学习和研究全文检索技术的宝贵资料,无论是对.NET开发人员还是对信息检索感兴趣的人员,都能从中获益匪浅。通过深入研究源码和文档,你可以掌握如何利用Lucene.Net构建高效...

    lucene2.0+heritrix 随书光盘

    《lucene2.0+heritrix 随书光盘》是针对搜索引擎技术的一个资源集合,其中包含了Lucene 2.0和Heritrix的相关示例及教程。Lucene是一款强大的全文检索库,而Heritrix则是一个互联网爬虫工具,它们在构建搜索引擎时起...

    Lucene2.0+Heritrix搜索引擎 随书光盘

    《Lucene2.0+Heritrix搜索引擎》随书光盘包含了两个重要的开源搜索技术——Apache Lucene 2.0和Heritrix的资源和教程。Lucene是Java开发的全文检索库,而Heritrix则是一个网络爬虫工具,它们在构建大规模搜索引擎和...

    Lucene2.0+Heritrix(ch4源代码)

    《深入理解Lucene 2.0与Heritrix:源码剖析及应用实践》 Lucene是一个开源全文搜索引擎库,由Apache软件基金会开发并维护。它提供了高效的索引和搜索功能,广泛应用于各种信息检索系统。Heritrix是互联网档案馆...

    Lucene2.0实例

    但作为入门实例,这个"Lucene2.0实例"应该会从最基本的层面教你如何启动并运行一个简单的搜索应用。通过学习并实践这些基础操作,你可以逐步掌握Lucene的核心功能,为进一步深入学习和开发更复杂的搜索系统奠定基础...

    【完整光盘24.5M】开发自己的搜索引擎-Lucene 2.0+Heritrix.zip

    本资料集——"【完整光盘24.5M】开发自己的搜索引擎-Lucene 2.0+Heritrix.zip",正是这样一个学习资源,旨在帮助用户理解如何利用开源工具Lucene 2.0和Heritrix构建自己的搜索引擎。 Lucene是Apache软件基金会的一...

    Lucene.net 2.0 API + DLL 下载

    另外,`Lucene.Net-2.0.doc.zip`文件可能包含的是关于Lucene.NET 2.0的文档资料,可能包括API参考、用户指南、示例代码等,对于学习和掌握这个版本的API非常有帮助。通过阅读这些文档,开发者可以理解如何初始化搜索...

Global site tag (gtag.js) - Google Analytics