`
strayly
  • 浏览: 97423 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用bobo-browse 实现lucene的分组统计

阅读更多
bobo-browse 是一用java写的lucene扩展组件,通过它可以很方便在lucene上实现分组统计功能。

可以从http://code.google.com/p/bobo-browse/上下载和查看相关文档。

下面介绍如何使用:

第一步:设置相关配置文件

bobo-browse 使用了spring,这里主要配置bobo.spring和field.xml两个文件。可以从他的源码例子中找到这两个文件,参考它做相应的修改。


同时这两个文件要放在和索引文件的同一目录下。



第二步:搜索实现

字段配置写好之后,就可以在搜索的java文件中加上一些代码就可以得到统计结果了。

参考文档http://code.google.com/p/bobo-browse/wiki/GettingStarted

比如我要获取color字段按多到少的10个值

// opening a lucene index
Directory idx = FSDirectory.open(new File("myidx"));
IndexReader reader = IndexReader.open(idx);
// decorate it with a bobo index reader
BoboIndexReader boboReader = BoboIndexReader.getInstance(reader);
// creating a browse request
BrowseRequest br=new BrowseRequest();
br.setCount(10);
br.setOffset(0);
// parse a query
QueryParser qp = new QueryParser(fields,new StandardAnalyzer());
Query q=qp.parse(keyword);
br.setQuery(q);
// add the facet output specs
FacetSpec colorSpec = new FacetSpec();

colorSpec.setMaxHitCount(10);
colorSpec.setOrderBy(FacetSortSpec.OrderHitsDesc);
br.setFacetSpec("color",colorSpec);
// perform browse
Browsable browser=new BoboBrowser(boboReader);
BrowseResult result=browser.browse(br);
int totalHits = result.getNumHits();
BrowseHit[] hits = result.getHits();
Map<String,FacetAccessible> facetMap = result.getFacetMap();
FacetAccessible colorFacets = facetMap.get("color");
List<BrowseFacet> facetVals = colorFacets.getFacets();  
分享到:
评论

相关推荐

    lucene facet bobo-browse实现

    Bobo-Browse使用了BTree结构存储Facet信息,支持动态添加和删除Facet,以及快速的Facet计数,这使得它在处理大量数据时依然保持良好的性能。 三、Bobo-Browse实现Facet步骤 1. 配置索引 在创建Lucene索引时,需要...

    基于bobo-browse自定义统计类实现

    基于bobo-browse参照path统计方式实现类扩展自定义自己的实现类,可实现分类编码每4位为一个级别:如:1000000100301001 即可统计出1000、10000001、100000010030、1000000100301001,也可选择从第几级开始最多统计...

    一步一步跟我学习lucene(12)---lucene搜索之分组处理group查询

    在"一步一步跟我学习lucene(12)---lucene搜索之分组处理group查询"中,我们将重点关注如何利用Lucene实现这一高级搜索功能。 首先,Lucene是一个开源全文搜索引擎库,它为Java开发者提供了构建高效、可扩展的搜索...

    lucene-grouping-3.5.0.jar分组统计+分类统计插件

    lucene-grouping-3.5.0.jar分组统计+分类统计插件 分组统计+分类统计

    lucene-core-2.9.4,lucene-core-3.0.2,lucene-core-3.0.3,lucene-core-3.4.0

    《Apache Lucene核心技术详解:从2.9.4到3.4.0的演变》 Apache Lucene,作为开源的全文检索库,是Java开发人员进行高效信息检索的重要工具。这个压缩包文件包含了Lucene从2.9.4版本到3.4.0版本的核心组件,让我们...

    paoding-webx3-solr-lucene

    《剖析paoding-webx3-solr-lucene:构建高效搜索引擎的深度探索》 在现代互联网应用中,数据量的增长速度惊人,如何高效地搜索和处理这些数据成为了开发者面临的重大挑战。"paoding-webx3-solr-lucene"是一个专注于...

    je-analysis-1.5.3;lucene-core-2.9.2

    总结来说,"je-analysis-1.5.3"和"lucene-core-2.9.2"这两个jar包分别提供了文本分析和全文检索的功能,它们的结合使用可以构建强大的文本处理和搜索解决方案。理解并熟练运用这些工具,对于提升Java应用程序的数据...

    je-analysis-1.5.3、lucene-core-2.4.1分词组件

    使用"je-analysis-1.5.3"和"lucene-core-2.4.1"的组合,开发者可以构建出强大的文本搜索解决方案。在实际应用中,首先,Je-Analysis会处理输入的中文文本,进行分词操作,然后将分词结果传递给Lucene进行索引。当...

    基于java的开发源码-搜索引擎 Lucene.zip

    基于java的开发源码-搜索引擎 Lucene.zip 基于java的开发源码-搜索引擎 Lucene.zip 基于java的开发源码-搜索引擎 Lucene.zip 基于java的开发源码-搜索引擎 Lucene.zip 基于java的开发源码-搜索引擎 Lucene.zip 基于...

    lucene 分组统计

    为了更好地理解如何使用 Lucene 进行分组统计,下面详细介绍一些实现细节。 ##### 1. 定义字段和分析器 ```java StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_29); PerFieldAnalyzerWrapper ...

    开发自己的搜索引擎---Lucene+Heritrix(第2版)

    开发自己的搜索引擎---Lucene+Heritrix(第2版)。超星导出来的,非常清晰。CSDN上传限制60MB,点击我的用户名查看part2。

    Laravel开发-laravel-lucene-search

    `laravel-lucene-search`是针对Laravel 4.2版本设计的一个软件包,它将Apache Lucene(一个高性能、全功能的文本搜索引擎库)与Laravel的Eloquent ORM(对象关系映射)相结合,使得在Laravel应用中实现全文搜索变得...

    luke--- lucene索引数据查看器

    - Luke的版本应与所使用的Lucene版本相匹配,以避免兼容性问题。 总之,Luke是Lucene开发和维护过程中不可或缺的工具,它提供了一种直观的方式来洞察索引的内部工作,从而更好地理解和优化搜索系统。无论你是开发者...

    lucene3.3的全部jar包

    lucene-analyzers-3.3.0.jar lucene-benchmark-3.3.0.jar lucene-core-3.3.0.jar lucene-demo-3.3.0.jar lucene-grouping-3.3.0.jar lucene-highlighter-3.3.0.jar lucene-icu-3.3.0.jar lucene-instantiated-3.3.0....

    开发自己的搜索引擎--Lucene+Heritrix.zip

    在这个项目中,我们将使用Apache Lucene和Heritrix这两个开源工具来开发我们自己的搜索引擎。Apache Lucene是一个强大的全文搜索引擎库,而Heritrix则是一个功能丰富的网页抓取器,用于收集互联网上的数据。接下来,...

    lucene-4.7.0全套jar包

    - **QueryParser模块**:实现了查询解析功能,如`lucene-queryparser-4.7.0.jar`。 - **Memory模块**:提供了内存中的索引支持,适用于小型应用或测试,如`lucene-memory-4.7.0.jar`。 - **Miscellaneous模块**:...

    hibernate-hql-lucene-1.0.1.Final.zip

    【标题】"hibernate-hql-lucene-1.0.1.Final.zip" 提供的是一个关于Hibernate HQL与Lucene集成的开源项目版本,主要用于在Java应用程序中实现高效、复杂的全文搜索功能。 【描述】"pact-jvm.zip,pact模型" 指的是...

    Incubating-Apache-Lucene.Net-2.0-004-11Mar07.src.zip

    它是一个开源项目,专为.NET Framework设计,实现了Java版本Lucene的主要功能,使得.NET开发者能够轻松地在他们的应用程序中集成高级搜索功能。"Incubating-Apache-Lucene.Net-2.0-004-11Mar07.src.zip"是Lucene.Net...

    rh-java-common-lucene-sandbox-4.8.0-6.7.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rh-java-common-lucene-misc-4.8.0-6.7.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

Global site tag (gtag.js) - Google Analytics