首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java api的嵌套facets

使用java api的嵌套facets
EN

Stack Overflow用户
提问于 2019-07-17 03:01:19
回答 1查看 88关注 0票数 1

我有以下嵌套的方面,这些方面是随时间变化的总和

代码语言:javascript
复制
{
    "query": "*:*",
    "facet": {
         "daterange": {
             "type": "range",
             "field": "created_date",
             "start": "2019-07-10T18:34:10Z",
             "end": "2019-07-11T19:51:56Z",
             "gap": "+8640000MILLISECONDS",
             "facet": {
                 "x":"sum(price)"
             }
        }
    }
}

在solr java api中是否支持它?

我希望能够将facet对象作为参数进行传递。

代码语言:javascript
复制
public SolrQuery addDateRangeFacet(String field, Date start, Date end, String gap) {
    add(FacetParams.FACET_RANGE, field);
    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_START), start.toInstant().toString());
    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_END),   end.toInstant().toString());
    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_GAP),   gap);
    this.set(FacetParams.FACET, true);
    return this;
  }

使用org.apache.solr-solrj 7.0.1

EN

回答 1

Stack Overflow用户

发布于 2020-09-23 19:47:12

我正在寻找在Java中使用SolrQuery的嵌套方面的答案,只找到了这篇文章:https://chakrayel.wordpress.com/2017/03/30/consuming-json-facet-api/基于这个我猜你的情况的解决方案应该是这样的(伪语法):

代码语言:javascript
复制
SolrQuery query = new SolrQuery();
query.set("json.facet", """{
               "daterange": {
               "type": "range",
               "field": "created_date",
               "start": "2019-07-10T18:34:10Z",
               "end": "2019-07-11T19:51:56Z",
               "gap": "+8640000MILLISECONDS",
               "facet": {
               "x":"sum(price)"
            }
        }""");

我还没有测试过post。

HTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57063859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档