`
liulanghan110
  • 浏览: 1076684 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Lucene 数字范围查询

阅读更多
public  List<Document> rangeSearch(){
         List<Document> docList = new ArrayList<Document>();
         Double start = 20.0;
         Double end = 40.0;
        NumericRangeQuery rangeQuery = NumericRangeQuery.newDoubleRange("carPrice",start,end,true, true);
        try {
            directory = FSDirectory.open(new File(LuceneConstant.INDEX_PATH));//打开索引文件夹 
            IndexReader reader = DirectoryReader.open(directory);//读取目录
            IndexSearcher search = new IndexSearcher(reader);//初始化查询组件
            TopDocs td = search.search(rangeQuery, 10000);//获取匹配上元素的一个docid  
            for (ScoreDoc doc : td.scoreDocs) {
                docList.add(search.doc(doc.doc));
            }
            reader.close();//关闭资源  
            directory.close();//关闭连接  
        } catch (IOException ex) {
            Logger.getLogger(LuceneDao.class.getName()).log(Level.SEVERE, null, ex);
        }
        return docList;
    }

 

分享到:
评论

相关推荐

    lucene部分常用代码

    在上面的代码中,我们使用RangeFilter来过滤搜索结果,获得指定数字范围内的结果。 Lucene提供了多种方式来实现搜索和过滤。通过掌握这些常用代码,我们可以更好地使用Lucene来开发高效的搜索应用程序。

    apache下的lucene教程

    - **高级查询技术**:包括布尔查询、短语查询、范围查询等多种复杂的查询方式。 - **查询优化**:讨论提高查询效率的方法,如缓存机制、查询重写等。 ##### 3. 扩展Lucene - **自定义分析器**:如何根据需求定制...

    lucene 的开发包6.6

    3. 高级特性:Lucene支持布尔查询、短语查询、模糊查询、范围查询等多种查询方式,还可以实现自定义排序和高亮显示搜索结果。 4. 更新与删除:通过IndexWriter可以更新已索引的文档,或者删除不再需要的文档。 四...

    Lucene 3.6 学习笔记

    - **数字查询**:使用`NumericRangeQuery`对数字字段进行精确或范围查询。 - **前缀查询**:`PrefixQuery`查找以特定前缀开头的文档。 - **通配符查询**:`WildcardQuery`支持通配符查询。 - **多条件查询**:`...

    Lucene+3.0+原理与代码分析完整版

    5. **RangeQuery**:用于范围查询。 #### 十、Lucene 分词器(Analyzer) **分词器**(Analyzer)是 Lucene 中用于处理文档文本的关键组件,其作用是将文档内容分解为一系列词条。Lucene 提供了多种内置的分词器,...

    lucene 实现类似百度搜索

    4. **范围查询(Range Queries)**:筛选在一定范围内的数值或日期。 5. **评分(Scoring)**:Lucene 会计算每个文档的相关性分数,作为排序依据。 6. **自定义分析器(Custom Analyzers)**:根据需求调整分词规则...

    Lucene 常用功能介绍视频详解

    它可以处理多种查询语法,如布尔表达式(AND, OR, NOT, XOR)、短语查询、前缀查询、范围查询等。自定义查询构造器也是可能的,以适应特定的查询需求。 4. **搜索** `IndexSearcher`类是执行搜索的核心,它接受`...

    Lucene-2.3.1 源代码阅读学习

    - **Query**:表示查询条件,包括布尔查询、短语查询、范围查询等多种类型。 - **Searcher**:执行查询,返回匹配的Document集合。 - **Scoring**:Lucene根据查询词在文档中的出现频率和位置计算相关度得分。 -...

    Lucene入门demo

    4. **范围搜索(Range Queries)**: 用于搜索在特定范围内的值,例如,日期或数字。 5. **分面搜索(Faceted Search)**: 用于分类和过滤搜索结果,常见于电子商务网站的产品分类。 6. **实时索引(Real-time ...

    基于Lucene的桌面搜索软件

    2. **核心组件**:Lucene作为核心组件负责文档索引和查询操作,通过其提供的API可以方便地实现复杂的搜索逻辑。 3. **用户界面**:考虑到易用性和美观性,采用Swing或JavaFX框架来构建图形用户界面,实现与用户的...

    Lucene3.0分词系统.doc

    Lucene3.0分词系统的核心在于理解和应用其分词原理,无论是对于英文还是中文文本,这一...通过这些技术的应用,Lucene3.0能够支持全球范围内不同语言和文化背景下的文本处理需求,成为业界领先的全文搜索引擎技术之一。

    lucene2.9.0 API

    **Lucene 2.9.0 API 深度解析** ...综上所述,Lucene 2.9.0 API 提供了全面的全文检索功能,涵盖了从文本分析、索引创建到查询执行的全过程。理解并熟练运用这些API,开发者可以构建出高效的全文搜索引擎。

    基于Lucene的全文检索引擎研究与应用

    - **跨平台**:由于基于Java语言开发,因此Lucene能够在不同的操作系统平台上运行,提高了其适用范围。 - **灵活性**:Lucene允许用户自定义索引和查询的方式,提供了丰富的API接口来扩展功能。 - **开源性**:作为...

    lucene学习入门程序

    通过这个入门程序,你将了解如何创建和管理索引,执行搜索,并对结果进行处理,例如高亮和范围查询。同时,你也将接触到Lucene的主要API和概念,为进一步深入学习和应用Lucene打下基础。在实践中,你可以尝试不同的...

    Lucene的正则表达式检索

    为了优化性能,你可以使用预编译的正则表达式,并考虑使用前缀查询或短语查询来减少搜索范围。 6. **安全问题** 正则表达式注入是一种常见的安全风险,当用户提供的数据被直接用于正则表达式时。因此,必须对用户...

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

    2. **解析查询**:使用Lucene的QueryParser将查询字符串解析为查询对象。 3. **执行查询**:通过IndexSearcher执行查询操作。 4. **返回结果**:显示匹配文档的相关信息给用户。 ### 四、总结 通过学习Lucene 2.0...

    lucene-2.3.2

    4. 高级查询:除了基本的关键词查询,Lucene还支持布尔查询、短语查询、范围查询等高级查询模式。 5. 更新和删除:Lucene允许动态更新和删除文档,保持索引与数据的一致性。 四、应用实例 Lucene 2.3.2 可广泛...

Global site tag (gtag.js) - Google Analytics