我必须使用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");
我尝试了很多不同的方法,但仍然无法正常工作。
答案 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); 以避免查询响应并提高效率。这不会影响方面结果。