Solr搜索使用的方法queryForFacetPage只返回10条记录

时间:2014-11-22 09:05:06

标签: solr

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条记录但预期输出是返回所有记录..

2 个答案:

答案 0 :(得分:0)

我猜测你正在使用方法名称中的Spring Data Solr框架。在这里,您可以set the facet.limit option through setFacetLimit,默认为10.这将设置每个方面返回的术语数。您可以将值设置为负值以返回所有术语,但如果您需要一定数量的术语 - 请使用特定值,以便Lucene可以在可能的情况下快速构建构面。

答案 1 :(得分:0)

facetQuery.setRows(999); // or any other big number =/

不如你想象的那么好,但它可以解决问题。