67,512
社区成员
发帖
与我相关
我的任务
分享
@Test
public void testabc() throws Exception {
// This is the directory that hosts the Lucene index
String splittype = "parentType";
File indexDir = new File("/home/qc/cms/resfile/index");
Directory idx = FSDirectory.open(indexDir);
IndexReader reader = IndexReader.open(idx);
BoboIndexReader boboIndexReader = BoboIndexReader.getInstance(reader);
BrowseRequest browseRequest = new BrowseRequest();
browseRequest.setCount(10);
browseRequest.setOffset(1);
String[] fields = {"name"};
String keywords = "刘德华";
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
QueryParser queryParser = new MultiFieldQueryParser(Version.LUCENE_CURRENT, fields, analyzer);
Query query = queryParser.parse(keywords);
browseRequest.setQuery(query);
FacetSpec facetSpec = new FacetSpec();
facetSpec.setMaxCount(100);// 搜索出来的标签数目
facetSpec.setOrderBy(FacetSortSpec.OrderHitsDesc);
browseRequest.setFacetSpec(splittype, facetSpec);
Browsable browser = new BoboBrowser(boboIndexReader);
BrowseResult browseResult = browser.browse(browseRequest);
int totalHits = browseResult.getNumHits();
BrowseHit[] browseHit = browseResult.getHits();
System.out.println("命中数据共:" + totalHits);
Map<String, FacetAccessible> facetMap = browseResult.getFacetMap();
SimpleFacetHandler.SimpleFacetCountCollector colorFacets = (SimpleFacetHandler.SimpleFacetCountCollector) facetMap
.get(splittype);
colorFacets.collectAll();
List<BrowseFacet> facetVals = colorFacets.getFacets();
for (BrowseFacet f : facetVals) {
System.out.println(f.getValue() + "(" + f.getHitCount() + ")");
}
}