`
gniavaj
  • 浏览: 2483 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Lucene一对多问题

阅读更多

     这两天做项目碰到了个lucene一对多问题,原数据库有2张表。一个是酒店表(hotel),对应的字段有酒店id(hotelid),酒店名字(name),另一个是房型表(room),  对应的字段有酒店id(hotelid),房型价格(price)。
   酒店和房型是一对多关系,比如一个酒店可以有标准间,豪华间等等。
   现需求是输入最大价格和最小价格要查出符合条件的酒店数据,如果用sql很简单就解决了。但现在要求用lucene查询索引数据。
   我的思路是 建立2套索引一个是酒店索引,一个是房型索引。假如用户输入的搜素条件是价格100-1000,名字带有北京的酒店,那么我的做法是:
          1.先去查询房型索引,得到符合的酒店id,再把重复的酒店id过滤掉。
          对应的lucene查询语句:+price:[100 TO 1000]
          这样会得到一个酒店id的集合,然后再过滤重复的酒店id。

          2.再去查酒店索引
          对应的lucene查询语句:(假如符合价格的酒店id为1,3,5)
          +name:北京 +(hotelid:1 OR hotelid:3 OR hotelid:5)


   这样就可以得到想要的结果了,但是我觉得有些麻烦,哪位有更好的思路提供给我,小弟不胜感激。

 

分享到:
评论
1 楼 rentianchou 2010-07-02  
如何解决的,我也遇到这个问题

相关推荐

    lucene实现过程中存在的问题

    Lucene作为一款强大的搜索引擎库,在实际应用中确实会遇到一些问题,如平台异常、查询异常、显示问题以及写锁异常等。针对这些问题,我们可以通过一系列措施来进行预防和解决,如正确使用查询语法、优化显示逻辑、...

    Lucene 字符编码问题

    在多语言环境下,选择合适的字符编码至关重要,因为不同的编码方式对非英文字符的支持程度不同。例如,ASCII只能表示英文字符,而GBK和UTF-8可以支持更多的汉字和其他语言的字符。 Lucene默认使用UTF-8编码,这是...

    lucene索引优化多线程多目录创建索引

    通过对“lucene_multiThreadIndex”压缩包的学习,你将掌握如何在Lucene中实现多线程索引,从而提高大型数据集的索引构建速度。通过实践,你可以更好地理解和应用这些技术,优化你的信息检索系统。

    Lucene对本地文件多目录创建索引

    - 要对多个目录进行索引,需要遍历每个目录及其子目录,为每个文件创建一个Document对象,并添加到IndexWriter。 - 使用Directory类的open方法指定每个目录路径,然后使用IndexWriter添加Document。 3. **相关库...

    lucene的一个实用例子

    Lucene 是一个开源全文搜索引擎库,由 Apache 软件基金会开发。它提供了一个可扩展的、高性能的搜索框架,使得开发者能够轻易地在应用中集成全文检索功能。本实例将通过一个具体的应用场景,帮助大家了解 Lucene 的...

    lucene

    Lucene是一个全文搜索引擎库,由Apache软件基金会开发并维护,它提供了高效的文本检索、分析和存储功能。在Java编程语言中,Lucene被广泛应用于各种需要全文搜索功能的系统,如网站、文档管理、知识库等。其强大的...

    lucene in action源码

    9. **多字段搜索**:Lucene支持在多个字段上同时进行搜索,例如可以在标题、内容等多个字段中查找关键词。 10. **实时搜索**:Lucene允许动态添加、删除和更新文档,实现近实时的搜索体验。 11. **扩展性**:...

    Lucene简介.介绍

    虽然 Lucene 的原始版本主要是为英文设计的,但其设计的灵活性使得通过扩展语言分析接口,可以轻松地添加对中文等其他语言的支持。这通常涉及使用词库和自动切分词算法来处理中文的分词问题。 **应用场景** 许多...

    Lucene全文检索引擎

    使用Lucene时,你可能需要考虑如何处理中文分词、如何优化搜索性能、如何实现多语言支持等问题。此外,对于大型数据集,可能需要了解如何分布式部署和管理索引。 总结来说,Lucene是一个强大的全文检索引擎,通过...

    lucene 多字段查询+文字高亮显示

    在IT领域,Lucene是一个非常重要的全文搜索引擎库,它由Apache软件基金会开发并维护。Lucene提供了高效的文本分析、索引和搜索功能,是许多大型网站和应用的基础。本话题聚焦于“Lucene多字段查询”和“文字高亮显示...

    lucene部分常用代码

    本文将对Lucene部分常用代码进行详细解释,包括多字段搜索、多条件搜索、过滤等。 多字段搜索 在Lucene中,我们可以使用MultifieldQueryParser来指定多个搜索字段。MultifieldQueryParser可以将多个字段合并到一个...

    Lucene的一个毕业设计

    Lucene 提供了 Analyzer 类来对文本进行分词和标准化,去除停用词、转换为小写等。然后,Document 类用于表示要索引的一条信息,你可以添加 Field(字段)来存储不同类型的文本或非文本数据。 2. **字段类型**:...

    lucene-2.2.0zip

    6. **多语言支持**:增强了对多语言的支持,包括对非拉丁字符集的处理,如中文、日文等。 从2.2.0到5.5.0,Lucene不仅在功能上有所增强,也在易用性和扩展性方面取得了显著进步。对于初学者来说,从老版本开始学习...

    lucene in action英文版 lucene 3.30包

    随着版本迭代,Lucene引入了更多的特性,如多字段搜索、更高效的内存管理以及对更多语言的支持。 7. **《Lucene in Action》书籍内容** 这本书详细讲解了Lucene的各个方面,包括安装、基本用法、高级特性和实际...

    Lucene初探,一个初级的LuceneDemo

    通过学习和实践这个LuceneDemo,你可以对Lucene有一个初步的认识,了解如何创建、索引和搜索文档。随着深入学习,你会发现Lucene的强大之处在于其高度定制化的能力,可以满足各种复杂的搜索需求。在实际项目中,结合...

    Lucene3.5源码jar包

    本压缩包包含的是Lucene 3.5.0版本的全部源码,对于想要深入理解Lucene工作原理、进行二次开发或者进行搜索引擎相关研究的开发者来说,是一份非常宝贵的学习资源。 Lucene 3.5.0是Lucene的一个重要版本,它在3.x...

    Annotated Lucene 中文版 Lucene源码剖析

    《Annotated Lucene 中文版 Lucene源码剖析》是一本深入探讨Apache Lucene的书籍,专注于源码解析,帮助读者理解这个强大的全文搜索引擎库的工作原理。Lucene是一款开源的Java库,它提供了高效的文本搜索功能,被...

    Java搜索引擎 Lucene

    Java搜索引擎Lucene是一款开源的全文检索库,由Apache软件基金会开发并维护,它为Java开发者提供了强大的文本搜索功能。Lucene的核心目标是让开发者能够快速地在应用中集成高级的搜索功能,使得用户可以轻松地查找和...

    lucene7.7.2稳定版本

    7.7.2 版本是 Lucene 的一个重要稳定版本,它在前一版本的基础上进行了多项改进和优化,为开发者提供了更强大、更稳定的搜索解决方案。 1. **全文检索核心**: Lucene 的核心在于其强大的全文检索能力。它能够对...

    lucene讲义 叫你用lucene算法

    Lucene会定期检查当前索引中是否有需要合并的段,这一过程涉及到对SegmentInfos的检查。一旦发现有多个相邻的、大小相当的段,就会启动归并过程。归并策略的核心是通过比较各段的第一个Term,利用小根堆数据结构进行...

Global site tag (gtag.js) - Google Analytics