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();
分享到:
相关推荐
Bobo-Browse使用了BTree结构存储Facet信息,支持动态添加和删除Facet,以及快速的Facet计数,这使得它在处理大量数据时依然保持良好的性能。 三、Bobo-Browse实现Facet步骤 1. 配置索引 在创建Lucene索引时,需要...
基于bobo-browse参照path统计方式实现类扩展自定义自己的实现类,可实现分类编码每4位为一个级别:如:1000000100301001 即可统计出1000、10000001、100000010030、1000000100301001,也可选择从第几级开始最多统计...
在"一步一步跟我学习lucene(12)---lucene搜索之分组处理group查询"中,我们将重点关注如何利用Lucene实现这一高级搜索功能。 首先,Lucene是一个开源全文搜索引擎库,它为Java开发者提供了构建高效、可扩展的搜索...
lucene-grouping-3.5.0.jar分组统计+分类统计插件 分组统计+分类统计
《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"是一个专注于...
总结来说,"je-analysis-1.5.3"和"lucene-core-2.9.2"这两个jar包分别提供了文本分析和全文检索的功能,它们的结合使用可以构建强大的文本处理和搜索解决方案。理解并熟练运用这些工具,对于提升Java应用程序的数据...
使用"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 基于...
为了更好地理解如何使用 Lucene 进行分组统计,下面详细介绍一些实现细节。 ##### 1. 定义字段和分析器 ```java StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_29); PerFieldAnalyzerWrapper ...
开发自己的搜索引擎---Lucene+Heritrix(第2版)。超星导出来的,非常清晰。CSDN上传限制60MB,点击我的用户名查看part2。
`laravel-lucene-search`是针对Laravel 4.2版本设计的一个软件包,它将Apache Lucene(一个高性能、全功能的文本搜索引擎库)与Laravel的Eloquent ORM(对象关系映射)相结合,使得在Laravel应用中实现全文搜索变得...
- Luke的版本应与所使用的Lucene版本相匹配,以避免兼容性问题。 总之,Luke是Lucene开发和维护过程中不可或缺的工具,它提供了一种直观的方式来洞察索引的内部工作,从而更好地理解和优化搜索系统。无论你是开发者...
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....
在这个项目中,我们将使用Apache Lucene和Heritrix这两个开源工具来开发我们自己的搜索引擎。Apache Lucene是一个强大的全文搜索引擎库,而Heritrix则是一个功能丰富的网页抓取器,用于收集互联网上的数据。接下来,...
- **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集成的开源项目版本,主要用于在Java应用程序中实现高效、复杂的全文搜索功能。 【描述】"pact-jvm.zip,pact模型" 指的是...
它是一个开源项目,专为.NET Framework设计,实现了Java版本Lucene的主要功能,使得.NET开发者能够轻松地在他们的应用程序中集成高级搜索功能。"Incubating-Apache-Lucene.Net-2.0-004-11Mar07.src.zip"是Lucene.Net...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装