Package org.elasticsearch.search.facet.range

Examples of org.elasticsearch.search.facet.range.RangeFacetBuilder


    public static HistogramScriptFacetBuilder histogramScriptFacet(String facetName) {
        return new HistogramScriptFacetBuilder(facetName);
    }

    public static RangeFacetBuilder rangeFacet(String facetName) {
        return new RangeFacetBuilder(facetName);
    }
View Full Code Here


        if (isDateFacets()) {
            // too much work to convert the generic case with all the date math
            // so cheat for our case:
            String name = ElasticTweetSearch.DATE_FACET;
            RangeFacetBuilder rfb = FacetBuilders.rangeFacet(name).field(ElasticTweetSearch.DATE);
            MyDate date = new MyDate();

            // latest
            rfb.addUnboundedTo(Helper.toLocalDateTime(date.clone().minusHours(8).castToHour().toDate()));
            // first day           
            rfb.addUnboundedTo(Helper.toLocalDateTime(date.castToDay().toDate()));

            for (int i = 0; i < 7; i++) {
                // 'from' must be smaller than 'to'!
                Date oldDate = date.toDate();
                rfb.addRange(Helper.toLocalDateTime(date.minusDays(1).toDate()),
                        Helper.toLocalDateTime(oldDate));
            }

            // oldest
            rfb.addUnboundedFrom(Helper.toLocalDateTime(date.toDate()));
            srb.addFacet(rfb);
        }

        return srb;
    }
View Full Code Here

  @Override
  public FacetBuilder getFacet() {
    Assert.notNull(getName(), "Facet name can't be a null !!!");
    Assert.isTrue(StringUtils.isNotBlank(field) || StringUtils.isNotBlank(keyField) && StringUtils.isNotBlank(valueField), "Please select field or key field and value field !!!");

    RangeFacetBuilder builder = FacetBuilders.rangeFacet(getName());
    if (StringUtils.isNotBlank(keyField)) {
      builder.keyField(keyField).valueField(valueField);
    } else {
      builder.field(field);
    }

    for (Entry entry : entries) {
      if (entry instanceof DoubleEntry) {
        DoubleEntry doubleEntry = (DoubleEntry) entry;
        builder.addRange(validateValue(doubleEntry.getFrom(), Double.NEGATIVE_INFINITY), validateValue(doubleEntry.getTo(), Double.POSITIVE_INFINITY));
      } else {
        StringEntry stringEntry = (StringEntry) entry;
        builder.addRange(stringEntry.getFrom(), stringEntry.getTo());
      }
    }

    return builder;
  }
View Full Code Here

     * @throws Exception
     * <br>See <a href="http://www.elasticsearch.org/guide/reference/api/search/facets/range-facet.html">documentation</a>
     */
    @Test
    public void rangeFacet() throws Exception {
        RangeFacetBuilder facet = FacetBuilders.rangeFacet("f")
                .field("price")
                .addUnboundedFrom(3)
                .addRange(3, 6)
                .addUnboundedTo(6);

View Full Code Here

TOP

Related Classes of org.elasticsearch.search.facet.range.RangeFacetBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.