当前位置: 首页>>代码示例>>Java>>正文


Java NumericRangeFilter.newIntRange方法代码示例

本文整理汇总了Java中org.apache.lucene.search.NumericRangeFilter.newIntRange方法的典型用法代码示例。如果您正苦于以下问题:Java NumericRangeFilter.newIntRange方法的具体用法?Java NumericRangeFilter.newIntRange怎么用?Java NumericRangeFilter.newIntRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.lucene.search.NumericRangeFilter的用法示例。


在下文中一共展示了NumericRangeFilter.newIntRange方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getFilter

import org.apache.lucene.search.NumericRangeFilter; //导入方法依赖的package包/类
@Override
public Filter getFilter(Element e) throws ParserException {
  String field = DOMUtils.getAttributeWithInheritanceOrFail(e, "fieldName");
  String lowerTerm = DOMUtils.getAttributeOrFail(e, "lowerTerm");
  String upperTerm = DOMUtils.getAttributeOrFail(e, "upperTerm");
  boolean lowerInclusive = DOMUtils.getAttribute(e, "includeLower", true);
  boolean upperInclusive = DOMUtils.getAttribute(e, "includeUpper", true);
  int precisionStep = DOMUtils.getAttribute(e, "precisionStep", NumericUtils.PRECISION_STEP_DEFAULT);

  String type = DOMUtils.getAttribute(e, "type", "int");
  try {
    Filter filter;
    if (type.equalsIgnoreCase("int")) {
      filter = NumericRangeFilter.newIntRange(field, precisionStep, Integer
          .valueOf(lowerTerm), Integer.valueOf(upperTerm), lowerInclusive,
          upperInclusive);
    } else if (type.equalsIgnoreCase("long")) {
      filter = NumericRangeFilter.newLongRange(field, precisionStep, Long
          .valueOf(lowerTerm), Long.valueOf(upperTerm), lowerInclusive,
          upperInclusive);
    } else if (type.equalsIgnoreCase("double")) {
      filter = NumericRangeFilter.newDoubleRange(field, precisionStep, Double
          .valueOf(lowerTerm), Double.valueOf(upperTerm), lowerInclusive,
          upperInclusive);
    } else if (type.equalsIgnoreCase("float")) {
      filter = NumericRangeFilter.newFloatRange(field, precisionStep, Float
          .valueOf(lowerTerm), Float.valueOf(upperTerm), lowerInclusive,
          upperInclusive);
    } else {
      throw new ParserException("type attribute must be one of: [long, int, double, float]");
    }
    return filter;
  } catch (NumberFormatException nfe) {
    if (strictMode) {
      throw new ParserException("Could not parse lowerTerm or upperTerm into a number", nfe);
    }
    return NO_MATCH_FILTER;
  }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:40,代码来源:NumericRangeFilterBuilder.java

示例2: getFilter

import org.apache.lucene.search.NumericRangeFilter; //导入方法依赖的package包/类
@Override
public Filter getFilter(Element element) throws ParserException {

    String fieldName = DOMUtils.getAttributeWithInheritanceOrFail(element, "fieldName");
    String timeUnit = DOMUtils.getAttribute(element, "timeUnit", "days");
    Integer calUnit = timeUnits.get(timeUnit);
    if (calUnit == null) {
        throw new ParserException("Illegal time unit:" + timeUnit + " - must be days, months or years");
    }
    int agoStart = DOMUtils.getAttribute(element, "from", 0);
    int agoEnd = DOMUtils.getAttribute(element, "to", 0);
    if (agoStart < agoEnd) {
        int oldAgoStart = agoStart;
        agoStart = agoEnd;
        agoEnd = oldAgoStart;
    }
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

    Calendar start = Calendar.getInstance();
    start.add(calUnit, agoStart * -1);

    Calendar end = Calendar.getInstance();
    end.add(calUnit, agoEnd * -1);

    return NumericRangeFilter.newIntRange(fieldName, Integer.valueOf(sdf.format(start.getTime())),
            Integer.valueOf(sdf.format(end.getTime())), true, true);
}
 
开发者ID:xuzhikethinker,项目名称:t4f-data,代码行数:28,代码来源:AgoFilterBuilder.java

示例3: testNumericDateFilter

import org.apache.lucene.search.NumericRangeFilter; //导入方法依赖的package包/类
public void testNumericDateFilter() throws Exception {
  // pub date of Lucene in Action, Second Edition and
  // JUnit in ACtion, Second Edition is May 2010
  Filter filter = NumericRangeFilter.newIntRange("pubmonth",
                                                 201001,
                                                 201006,
                                                 true,
                                                 true);
  assertEquals(2, TestUtil.hitCount(searcher, allBooks, filter));
}
 
开发者ID:xuzhikethinker,项目名称:t4f-data,代码行数:11,代码来源:FilterTest.java

示例4: toFilter

import org.apache.lucene.search.NumericRangeFilter; //导入方法依赖的package包/类
public Filter toFilter () {
    return NumericRangeFilter.newIntRange(this.field, this.start,
            this.end, true, true);
}
 
开发者ID:KorAP,项目名称:Krill,代码行数:5,代码来源:CollectionBuilder.java


注:本文中的org.apache.lucene.search.NumericRangeFilter.newIntRange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。