org.apache.lucene.util.QueryBuilder.add()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(3.5k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中org.apache.lucene.util.QueryBuilder.add方法的一些代码示例,展示了QueryBuilder.add的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.add方法的具体详情如下:
包路径:org.apache.lucene.util.QueryBuilder
类名称:QueryBuilder
方法名:add

QueryBuilder.add介绍

[英]Rebuilds a boolean query and sets a new minimum number should match value.
[中]重建布尔查询,并设置新的最小值。

代码示例

代码示例来源:origin: org.apache.lucene/lucene-core

/** 
 * Creates complex boolean query from the cached tokenstream contents 
 */
protected Query analyzeMultiBoolean(String field, TokenStream stream, BooleanClause.Occur operator) throws IOException {
 BooleanQuery.Builder q = newBooleanQuery();
 List<Term> currentQuery = new ArrayList<>();
 
 TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
 PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
 
 stream.reset();
 while (stream.incrementToken()) {
  if (posIncrAtt.getPositionIncrement() != 0) {
   add(q, currentQuery, operator);
   currentQuery.clear();
  }
  currentQuery.add(new Term(field, termAtt.getBytesRef()));
 }
 add(q, currentQuery, operator);
 
 return q.build();
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

/** 
 * Creates complex boolean query from the cached tokenstream contents 
 */
protected Query analyzeMultiBoolean(String field, TokenStream stream, BooleanClause.Occur operator) throws IOException {
 BooleanQuery.Builder q = newBooleanQuery();
 List<Term> currentQuery = new ArrayList<>();
 
 TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
 PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
 
 stream.reset();
 while (stream.incrementToken()) {
  if (posIncrAtt.getPositionIncrement() != 0) {
   add(q, currentQuery, operator);
   currentQuery.clear();
  }
  currentQuery.add(new Term(field, termAtt.getBytesRef()));
 }
 add(q, currentQuery, operator);
 
 return q.build();
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/** 
 * Creates complex boolean query from the cached tokenstream contents 
 */
private Query analyzeMultiBoolean(String field, TokenStream stream, BooleanClause.Occur operator) throws IOException {
 BooleanQuery.Builder q = newBooleanQuery(false);
 BooleanQuery.Builder currentQuery = newBooleanQuery(true);
 
 TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
 PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
 
 stream.reset();
 while (stream.incrementToken()) {
  BytesRef bytes = termAtt.getBytesRef();
  if (posIncrAtt.getPositionIncrement() != 0) {
   add(q, currentQuery.build(), operator);
   currentQuery = newBooleanQuery(true);
  }
  currentQuery.add(newTermQuery(new Term(field, termAtt.getBytesRef())), BooleanClause.Occur.SHOULD);
 }
 add(q, currentQuery.build(), operator);
 
 return q.build();
}

代码示例来源:origin: harbby/presto-connectors

/** 
 * Creates complex boolean query from the cached tokenstream contents 
 */
private Query analyzeMultiBoolean(String field, TokenStream stream, BooleanClause.Occur operator) throws IOException {
 BooleanQuery.Builder q = newBooleanQuery(false);
 BooleanQuery.Builder currentQuery = newBooleanQuery(true);
 
 TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
 PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
 
 stream.reset();
 while (stream.incrementToken()) {
  BytesRef bytes = termAtt.getBytesRef();
  if (posIncrAtt.getPositionIncrement() != 0) {
   add(q, currentQuery.build(), operator);
   currentQuery = newBooleanQuery(true);
  }
  currentQuery.add(newTermQuery(new Term(field, termAtt.getBytesRef())), BooleanClause.Occur.SHOULD);
 }
 add(q, currentQuery.build(), operator);
 
 return q.build();
}

相关文章