SOLR独特查询

时间:2018-03-12 05:58:41

标签: java solr

我必须使用Java从solr中的特定字段中选择不同的值。我申请了

        SolrQuery solrQuery = new SolrQuery();
        solrQuery.add("q", "*:*");
        solrQuery.setParam("fl", "field_name");
        solrQuery.add("facet", "on");
        solrQuery.add("facet.field_name", "field_name");

我尝试了很多不同的方法,但仍然无法正常工作。

2 个答案:

答案 0 :(得分:1)

“facet.field_name”必须是“facet.field”。容易出错的是

query.setFacet(true);
query.addFacetField("field_name");

答案 1 :(得分:0)

SolrJ有很好的方法来实现这一目标。

solrQuery.setQuery("your query field","value");
solrQuery.setFacet(true);
solrQuery.addFacetField("your specific field for distincts");
solrQuery.setRows(0);

使用此请求点击服务器后,您可以将唯一字段值作为a  QueryResponse对象中的FacetField对象列表。

我已设置 solrQuery.setRows(0); 以避免查询响应并提高效率。这不会影响方面结果。