org.apache.lucene.search.Query.getBoost()方法的使用及代码示例

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

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

Query.getBoost介绍

[英]Gets the boost for this clause.
[中]获得此子句的提升。

代码示例

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

@Override
public float getBoost() {
 // overridden to remove the deprecation warning
 return super.getBoost();
}

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

@Override
public float getBoost() {
 // overridden to remove the deprecation warning
 return super.getBoost();
}

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

DocIdSet get(Query query) {
 assert query instanceof BoostQuery == false;
 assert query instanceof ConstantScoreQuery == false;
 assert query.getBoost() == 1f;
 return cache.get(query);
}

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

DocIdSet get(Query query) {
 assert query instanceof BoostQuery == false;
 assert query instanceof ConstantScoreQuery == false;
 assert query.getBoost() == 1f;
 return cache.get(query);
}

代码示例来源:origin: linkedin/indextank-engine

private QueryNode internalParse(org.apache.lucene.search.Query luceneQuery, final String originalStr) throws ParseException {
  QueryNode node;
  if (luceneQuery instanceof org.apache.lucene.search.TermQuery) {
    Term t = ((org.apache.lucene.search.TermQuery) luceneQuery).getTerm();
    String field = t.field();
    String text = t.text();
    node = new TermQuery(field, text);
  } else if (luceneQuery instanceof org.apache.lucene.search.PrefixQuery) {
    Term t = ((org.apache.lucene.search.PrefixQuery) luceneQuery).getPrefix();
    String field = t.field();
    String text = t.text();
    node = new PrefixTermQuery(field, text);
  } else if (luceneQuery instanceof org.apache.lucene.search.BooleanQuery) {
    List<BooleanClause> clauses = ((org.apache.lucene.search.BooleanQuery) luceneQuery).clauses();
    if (clauses.isEmpty()) {
      throw new ParseException("error parsing: " + originalStr);
    }
    node = internalParseBooleanQuery(clauses, originalStr);
  } else if (luceneQuery instanceof org.apache.lucene.search.PhraseQuery) {
    org.apache.lucene.search.PhraseQuery phraseQuery = (org.apache.lucene.search.PhraseQuery) luceneQuery;
    int[] positions = phraseQuery.getPositions();
    node = internalParsePhraseQuery(phraseQuery.getTerms(), positions, originalStr);
  } else {
    throw new ParseException("unimplemented");
  }
  node.setBoost(luceneQuery.getBoost());
  return node;
}

代码示例来源:origin: hibernate/hibernate-search

/**
 * Appender that adds a "boost" property if necessary.
 */
private static JsonBuilder.JsonAppender<? super JsonBuilder.Object> boostAppender(Query query) {
  final float boost = query.getBoost();
  if ( boost != DEFAULT_BOOST ) { // We actually want to use float equality here
    return builder -> builder.addProperty( "boost", boost );
  }
  else {
    return NOOP_APPENDER;
  }
}

代码示例来源:origin: org.hibernate/hibernate-search-elasticsearch

/**
 * Appender that adds a "boost" property if necessary.
 */
private static JsonBuilder.JsonAppender<? super JsonBuilder.Object> boostAppender(Query query) {
  final float boost = query.getBoost();
  if ( boost != DEFAULT_BOOST ) { // We actually want to use float equality here
    return builder -> builder.addProperty( "boost", boost );
  }
  else {
    return NOOP_APPENDER;
  }
}

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

@Override
protected void extractUnknownQuery(Query query,
                  Map<String, WeightedSpanTerm> terms) throws IOException {
  if (terms.isEmpty()) {
    extractWeightedTerms(terms, query, query.getBoost());
  }
}

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

@Override
 public Query rewrite(IndexReader reader) throws IOException {
  if (super.getBoost() != 1f) {
   SpanQuery rewritten = (SpanQuery) clone();
   rewritten.setBoost(1f);
   return new SpanBoostQuery(rewritten, super.getBoost());
  }
  return this;
 }
}

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

void putIfAbsent(Query query, DocIdSet set) {
 assert query instanceof BoostQuery == false;
 assert query instanceof ConstantScoreQuery == false;
 assert query.getBoost() == 1f;
 if (cache.containsKey(query) == false) {
  cache.put(query, set);
  // the set was actually put
  onDocIdSetCache(HASHTABLE_RAM_BYTES_PER_ENTRY + set.ramBytesUsed());
 }
}

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

void putIfAbsent(Query query, DocIdSet set) {
 assert query instanceof BoostQuery == false;
 assert query instanceof ConstantScoreQuery == false;
 assert query.getBoost() == 1f;
 if (cache.containsKey(query) == false) {
  cache.put(query, set);
  // the set was actually put
  onDocIdSetCache(HASHTABLE_RAM_BYTES_PER_ENTRY + set.ramBytesUsed());
 }
}

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

void remove(Query query) {
 assert query instanceof BoostQuery == false;
 assert query instanceof ConstantScoreQuery == false;
 assert query.getBoost() == 1f;
 DocIdSet removed = cache.remove(query);
 if (removed != null) {
  onDocIdSetEviction(HASHTABLE_RAM_BYTES_PER_ENTRY + removed.ramBytesUsed());
 }
}

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

@Override
 public Query rewrite(IndexReader reader) throws IOException {
  if (super.getBoost() != 1f) {
   SpanQuery rewritten = (SpanQuery) clone();
   rewritten.setBoost(1f);
   return new SpanBoostQuery(rewritten, super.getBoost());
  }
  return this;
 }
}

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

void remove(Query query) {
 assert query instanceof BoostQuery == false;
 assert query instanceof ConstantScoreQuery == false;
 assert query.getBoost() == 1f;
 DocIdSet removed = cache.remove(query);
 if (removed != null) {
  onDocIdSetEviction(HASHTABLE_RAM_BYTES_PER_ENTRY + removed.ramBytesUsed());
 }
}

代码示例来源:origin: ajermakovics/eclipse-instasearch

private Query getFilterQuery(Query originalQuery, Field field, Set<String> values) 
{
  BooleanQuery boolQuery = new BooleanQuery();
  
  if( originalQuery != null )
  {
    boolQuery.add(originalQuery, Occur.SHOULD); // original term
    boolQuery.setBoost( originalQuery.getBoost() );
  }
  
  for(String value: values)
    boolQuery.add(new TermQuery(field.createTerm(value)), Occur.SHOULD);
    
  return boolQuery;
}

代码示例来源:origin: org.hibernate/hibernate-search-backend-elasticsearch

public static JsonObject fromLuceneFilter(Filter luceneFilter) {
  if ( luceneFilter instanceof QueryWrapperFilter ) {
    Query query = ( (QueryWrapperFilter) luceneFilter ).getQuery();
    query.setBoost( luceneFilter.getBoost() * query.getBoost() );
    return fromLuceneQuery( query );
  }
  else if ( luceneFilter instanceof DistanceFilter ) {
    return convertDistanceFilter( (DistanceFilter) luceneFilter );
  }
  else if ( luceneFilter instanceof SpatialHashFilter ) {
    return convertSpatialHashFilter( (SpatialHashFilter) luceneFilter );
  }
  throw LOG.cannotTransformLuceneFilterIntoEsQuery( luceneFilter );
}

代码示例来源:origin: org.apache.lucene/lucene-fast-vector-highlighter

void add( Query query ){
 if( query instanceof TermQuery ){
  addTerm( ((TermQuery)query).getTerm(), query.getBoost() );
 }
 else if( query instanceof PhraseQuery ){
  PhraseQuery pq = (PhraseQuery)query;
  Term[] terms = pq.getTerms();
  Map<String, QueryPhraseMap> map = subMap;
  QueryPhraseMap qpm = null;
  for( Term term : terms ){
   qpm = getOrNewMap( map, term.text() );
   map = qpm.subMap;
  }
  qpm.markTerminal( pq.getSlop(), pq.getBoost() );
 }
 else
  throw new RuntimeException( "query \"" + query.toString() + "\" must be flatten first." );
}

代码示例来源:origin: hibernate/hibernate-search

public Query createQuery() {
    Query finalQuery = wrappedQuery;
    if ( wrappedQuery == null ) {
      throw new AssertionFailure( "wrapped query not set" );
    }
    finalQuery.setBoost( boost * finalQuery.getBoost() );
    if ( filter != null ) {
      finalQuery = new BooleanQuery.Builder()
          .add( finalQuery, Occur.MUST )
          .add( filter, Occur.FILTER )
          .build();
    }
    if ( constantScore ) {
      finalQuery = new ConstantScoreQuery( finalQuery );
    }
    return finalQuery;
  }
}

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

public Query createQuery() {
    Query finalQuery = wrappedQuery;
    if ( wrappedQuery == null ) {
      throw new AssertionFailure( "wrapped query not set" );
    }
    finalQuery.setBoost( boost * finalQuery.getBoost() );
    if ( filter != null ) {
      finalQuery = new BooleanQuery.Builder()
          .add( finalQuery, Occur.MUST )
          .add( filter, Occur.FILTER )
          .build();
    }
    if ( constantScore ) {
      finalQuery = new ConstantScoreQuery( finalQuery );
    }
    return finalQuery;
  }
}

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

private ParsedQuery buildFilteredQuery() {
  Query searchFilter = searchFilter(types());
  if (searchFilter == null) {
    return originalQuery;
  }
  Query result;
  if (Queries.isConstantMatchAllQuery(query())) {
    result = new ConstantScoreQuery(searchFilter);
    result.setBoost(query().getBoost());
  } else {
    result = new BooleanQuery.Builder()
        .add(query, Occur.MUST)
        .add(searchFilter, Occur.FILTER)
        .build();
  }
  return new ParsedQuery(result, originalQuery);
}

相关文章