如何使用spring-data-solr构建FacetQuery,它返回solr索引中的所有文档(*:*)

Aam*_*een 3 java spring solr solrj spring-data-solr

我想编写一个FacetQuery,除了一个过滤条件(fq)之外,它可能没有任何标准.以下查询是我想使用spring-data-solr API构建的示例.

http://localhost:8983/solr/jpevents/select?q=*:*&fq=categoryIds:(1101)&facet=true&facet.mincount=1&facet.limit=1&facet.field=primaryCategoryId
Run Code Online (Sandbox Code Playgroud)

如何在FacetQuery中设置查询参数(q =*:*)?

环境:我正在使用带有Solr 4.4.0和Spring 3.2.4.RELEASE的spring-data-solr 1.0.0.RELEASE编写基于Spring MVC的Search API.

Chr*_*obl 10

你可以做这个结合@Query@Facet

    @Facet(fields={"primaryCategoryId"}, minCount=1, limit=1)
    @Query(value="*:*", filters="categoryIds:(?0)")
    public FacetPage<JPEvents> XYZ(List<Long> categories, Pageable page);
Run Code Online (Sandbox Code Playgroud)

或执行FacetQuery使用SolrTemplate.

   FacetQuery query = new SimpleFacetQuery(new SimpleStringCriteria("*:*"))
     .setFacetOptions(new FacetOptions("primaryCategoryId")
     .setFacetMinCount(1).setFacetLimit(1));
   query.setPageRequest(pageable);
   solrTemplate.queryForFacetPage(query, JPEvents.class);
Run Code Online (Sandbox Code Playgroud)