`
yxhzj
  • 浏览: 649 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

lucene2.0中的查询疑问

阅读更多
环境:lucene2.0

我通过lucene把数据库中需要全文检索的表都建立了索引

其中包括:

id:主键
title:标题
content:描述
keywords:关键字
bigClass:大类
smailClass:小类
city: 城市

需求:
现在客户从客户端输入一个关键字k,那么,可以在title/content/keywords里面匹配,关系是or,就是说有一个满足就行了

bigClass/smailClass/city是and的关系

相当于sql: select * from table where (title like '%k%' or content like '%k%' or keywords like '%k%') and bigClass='大类' and smailClass='小类' and city='城市'


下面是我写的代码

String[] fields = {"title", "content","keywords"};//在title/content/keywords中找

BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
              BooleanClause.Occur.SHOULD,
              BooleanClause.Occur.SHOULD};
query = MultiFieldQueryParser.parse(keywords, fields,flags,analyzer);

下面我就不怎么知道怎么写了:
if(bigClass!=null)加大类的限制条件
if(smailClass!=null)加小类的限制条件
if(city!=null)加城市的限制条件


还是有其他的更好的方法,请指点...

分享到:
评论
1 楼 yfmine 2007-06-09  
BooleanQuery mainQuery = new BooleanQuery();
mainQuery.add(query); //这里的query就是你代码里构造的
if(bigClass!=null){
   mainQuery.add(new TermQuery(new Term("bigClass","大类",BooleanClause.MUST)))
}
//if(city!=null)
//...
return mainQuery;

相关推荐

    lucene2.0与其分词工具包

    同时,Lucene 2.0支持多种类型的查询,如布尔查询、短语查询、模糊查询等,满足了不同用户的搜索需求。 在分词工具方面,"je-analysis-1.4.0.jar"是一个重要的组件,它包含了对中文文本进行分词处理的算法和实现。...

    lucene 2.0 api以及lucene 3.0 api

    总的来说,从 Lucene 2.0 进化到 3.0,主要变化在于性能提升、查询功能增强以及对更多场景的支持,这些改进使得 Lucene 成为了更加成熟和全面的全文搜索解决方案。学习并掌握这两个版本的 API,对于从事相关开发工作...

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

    在Lucene 2.0版本中,主要包含以下核心功能: 1. **分词**: Lucene支持对文本进行分词,将大段文本分解成关键词,这是全文搜索的基础。 2. **索引**: 创建倒排索引,使得能快速定位到包含特定关键词的文档。 3. **...

    lucene2.0+Heritrix配套源码

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

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

    - **模糊查询**:传统的数据库通常不支持模糊查询,而 Lucene 则能够很好地支持这类查询,提高了多关键词查询的效率。 **4. Lucene 的创新** - **索引结构**:不同于传统的 B 树结构,Lucene 在更新索引时会创建新...

    Lucene2.0+Heritrix(源代码)

    在Lucene2.0中,我们能看到对倒排索引的优化,以及支持多字段、多语言和布尔查询等特性。 Heritrix则是互联网档案馆开发的一款网络爬虫,用于抓取和保存网页。Heritrix的强大之处在于其高度可配置性和扩展性,...

    lucene-2.0

    Lucene 2.0是一款强大的开源全文检索库,由Apache软件基金会开发并维护,是Java编程语言中的一个核心工具,广泛应用于搜索引擎的构建和其他信息检索场景。该版本发布于2006年,虽然现在已经有了更新的版本,但Lucene...

    Lucene.2.0.API

    在Lucene 2.0中,主要的知识点包括以下几个核心模块: 1. **索引模块**:这是Lucene的基础,用于构建和管理全文索引。主要包括`IndexWriter`类,用于创建、更新和删除索引;`Analyzer`类,用于文本分析,将输入的...

    Lucene 2.0+Heriterx书源代码-ch7lib

    在Lucene 2.0版本中,它提供了强大的文本分析能力,支持多种语言,并且对索引和查询性能进行了优化。这个版本的Lucene包含了许多关键组件,如文档模型、分词器、索引和查询解析器等,使得开发者能够快速构建自己的...

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

    Lucene 2.0是该系列中的一个重要版本,相比早期版本,在性能和功能上都有显著提升。 #### 1.1 Lucene 2.0的特点 - **高效性**:通过优化的数据结构和技术实现,Lucene 2.0能够快速地索引和检索大量数据。 - **可...

    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则是一个网络爬虫工具,它们在构建大规模搜索引擎和...

    Lucene-2.0学习文档

    《深入理解Lucene-2.0:从源码到应用》 Lucene是一个开源的全文检索库,由Apache软件基金会开发并维护。它为Java开发者提供了强大的文本搜索功能,广泛应用于各种信息检索系统中。本篇文章将围绕"Lucene-2.0学习...

    Lucene2.0+Heritrix(ch4源代码)

    本篇将结合Lucene 2.0与Heritrix的源代码,探讨这两者的协同工作原理及其在实际应用中的知识要点。 一、Lucene 2.0核心概念与技术 1.1 分词器(Tokenizer)与过滤器(Filter) Lucene首先通过分词器将输入文本切割...

    重要lucene2.0 学习文档

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

    Lucene2.0实例

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

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

    在《Lucene2.0+Nutch0.8 API帮助文档》中,你可以找到以下主要知识点: 1. **Lucene API**:包括如何创建索引、如何添加、删除和更新文档、如何构建查询对象、执行查询以及解析结果等。此外,还有关于分析器...

    lucene 2.0开发包

    lucene 2.0虽然是比较老的技术,它对实时搜索支持交差,不过很多普通的搜索引擎对实时性要求并不是很高,并且对于分词上没有太多的个性化专业要求,那么这个选择将是非常好的,提供各类分词接口、存储接口、索引接口...

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

    Lucene 2.0版本在当时是一个重要的里程碑,引入了许多新特性,如改进的性能、更灵活的查询语法和增强的稳定性。在这一版中,用户可以学习到如何处理文本分析、建立倒排索引、执行高效搜索,以及如何实现多字段、布尔...

    开发自己的搜索引擎--Lucene 2.0+Heritrix(爬虫)

    在Lucene 2.0版本中,它已经相当成熟,支持多种功能,如索引创建、查询解析、文档排序等。Lucene的核心优势在于其高效的倒排索引机制,它能够快速地查找包含特定关键词的文档。开发者可以利用Lucene API来创建索引,...

Global site tag (gtag.js) - Google Analytics