public FacetPage<SolrArticleDocument> facetSearch(String searchTerm, Pageable page) {
SimpleFacetQuery facetQuery = new SimpleFacetQuery(new SimpleStringCriteria(searchTerm));
Sort sort = new Sort(Direction.DESC,"trendingCount");
facetQuery.addSort(sort);
FacetOptions options = new FacetOptions();
options.addFacetOnFlieldnames(getFacetFields());
facetQuery.setFacetOptions(options);
facetQuery.setPageRequest(page);
return cmsTemplate.queryForFacetPage(facetQuery, SolrArticleDocument.class);
}
使用上面的方法,只返回10条记录但预期输出是返回所有记录..
答案 0 :(得分:0)
我猜测你正在使用方法名称中的Spring Data Solr框架。在这里,您可以set the facet.limit option through setFacetLimit
,默认为10.这将设置每个方面返回的术语数。您可以将值设置为负值以返回所有术语,但如果您需要一定数量的术语 - 请使用特定值,以便Lucene可以在可能的情况下快速构建构面。
答案 1 :(得分:0)
facetQuery.setRows(999); // or any other big number =/
不如你想象的那么好,但它可以解决问题。