类org.apache.lucene.search.spans.SpanWithinQuery源码实例Demo

下面列出了怎么用org.apache.lucene.search.spans.SpanWithinQuery的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lucene-solr   文件: TestSpanExtractors.java
public void testSpanWithin() {
  Term t1 = new Term("field", "term1");
  Term t2 = new Term("field", "term22");
  Term t3 = new Term("field", "term333");
  SpanWithinQuery swq = new SpanWithinQuery(
      SpanNearQuery.newOrderedNearQuery("field")
          .addClause(new SpanTermQuery(t1))
          .addClause(new SpanTermQuery(t2))
          .build(),
      new SpanTermQuery(t3));

  assertEquals(Collections.singleton(t3), collectTerms(swq));
}
 
源代码2 项目: mtas   文件: MtasSpanWithinQuery.java
/**
 * Instantiates a new mtas span within query.
 *
 * @param q1 the q 1
 * @param q2 the q 2
 * @param leftMinimum the left minimum
 * @param leftMaximum the left maximum
 * @param rightMinimum the right minimum
 * @param rightMaximum the right maximum
 * @param adjustBigQuery the adjust big query
 */
public MtasSpanWithinQuery(MtasSpanQuery q1, MtasSpanQuery q2,
    int leftMinimum, int leftMaximum, int rightMinimum, int rightMaximum,
    boolean adjustBigQuery) {
  super(null, null);
  bigQuery = q1;
  smallQuery = q2;
  leftBoundaryBigMinimum = leftMinimum;
  leftBoundaryBigMaximum = leftMaximum;
  rightBoundaryBigMinimum = rightMinimum;
  rightBoundaryBigMaximum = rightMaximum;
  autoAdjustBigQuery = adjustBigQuery;
  // recompute width
  Integer minimumWidth = null;
  Integer maximumWidth = null;
  if (bigQuery != null) {
    maximumWidth = bigQuery.getMaximumWidth();
    maximumWidth = (maximumWidth != null)
        ? maximumWidth + rightBoundaryBigMaximum + leftBoundaryBigMaximum
        : null;
  }
  if (smallQuery != null) {
    if (smallQuery.getMaximumWidth() != null && (maximumWidth == null
        || smallQuery.getMaximumWidth() < maximumWidth)) {
      maximumWidth = smallQuery.getMaximumWidth();
    }
    minimumWidth = smallQuery.getMinimumWidth();
  }
  setWidth(minimumWidth, maximumWidth);
  // compute field
  if (bigQuery != null && bigQuery.getField() != null) {
    field = bigQuery.getField();
  } else if (smallQuery != null && smallQuery.getField() != null) {
    field = smallQuery.getField();
  } else {
    field = null;
  }
  if (field != null) {
    baseQuery = new SpanWithinQuery(new MtasMaximumExpandSpanQuery(bigQuery,
        leftBoundaryBigMinimum, leftBoundaryBigMaximum,
        rightBoundaryBigMinimum, rightBoundaryBigMaximum), smallQuery);
  } else {
    baseQuery = null;
  }
}
 
 类所在包
 类方法
 同包方法