Package org.apache.lucene.search

Examples of org.apache.lucene.search.ConstantScoreQuery


   
    DirectoryReader r = DirectoryReader.open(iw, true);
    DirectoryTaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoWriter);
   
    FacetsCollector fc = new FacetsCollector(true);
    ConstantScoreQuery csq = new ConstantScoreQuery(new MatchAllDocsQuery());
    csq.setBoost(2.0f);
   
    TopDocs td = FacetsCollector.search(newSearcher(r), csq, 10, fc);

    Facets facets = new TaxonomyFacetSumValueSource(taxoReader, config, fc, new TaxonomyFacetSumValueSource.ScoreValueSource());
   
View Full Code Here


      Filter filter = strategy.makeFilter(args);
      if (filter instanceof QueryWrapperFilter) {
        return ((QueryWrapperFilter)filter).getQuery();
      } else {
        return new ConstantScoreQuery(filter);
      }
    }
  }
View Full Code Here

  private void merge(String dim, String[] path) {
    int index = drillDownDims.get(dim);
    if (query.getClauses().length == drillDownDims.size()+1) {
      index++;
    }
    ConstantScoreQuery q = (ConstantScoreQuery) query.clauses().get(index).getQuery();
    if ((q.getQuery() instanceof BooleanQuery) == false) {
      // App called .add(dim, customQuery) and then tried to
      // merge a facet label in:
      throw new RuntimeException("cannot merge with custom Query");
    }
    String indexedField = config.getDimConfig(dim).indexFieldName;

    BooleanQuery bq = (BooleanQuery) q.getQuery();
    bq.add(new TermQuery(term(indexedField, dim, path)), Occur.SHOULD);
  }
View Full Code Here

    }
    // TODO: we should use FilteredQuery?

    // So scores of the drill-down query don't have an
    // effect:
    final ConstantScoreQuery drillDownQuery = new ConstantScoreQuery(subQuery);
    drillDownQuery.setBoost(0.0f);

    query.add(drillDownQuery, Occur.MUST);

    drillDownDims.put(dim, drillDownDims.size());
  }
View Full Code Here

    // TODO: we should use FilteredQuery?

    // So scores of the drill-down query don't have an
    // effect:
    final ConstantScoreQuery drillDownQuery = new ConstantScoreQuery(subFilter);
    drillDownQuery.setBoost(0.0f);

    query.add(drillDownQuery, Occur.MUST);

    drillDownDims.put(dim, drillDownDims.size());
  }
View Full Code Here

    drillDownDims.put(dim, drillDownDims.size());
  }

  static Filter getFilter(Query query) {
    if (query instanceof ConstantScoreQuery) {
      ConstantScoreQuery csq = (ConstantScoreQuery) query;
      Filter filter = csq.getFilter();
      if (filter != null) {
        return filter;
      } else {
        return getFilter(csq.getQuery());
      }
    } else {
      return null;
    }
  }
View Full Code Here

  public Query rewrite(IndexReader reader) throws IOException {
    // TODO: if number of terms are low enough, rewrite to a BooleanQuery
    // for potentially faster execution.
    // TODO: cache the bitset somewhere instead of regenerating it
    Query q = new ConstantScoreQuery(new PrefixFilter(prefix));
    q.setBoost(getBoost());
    return q;
  }
View Full Code Here

  protected Query getWildcardQuery(String field, String termStr) throws ParseException {
    Query q = super.getWildcardQuery(field, termStr);
    if (q instanceof WildcardQuery) {
      // use a constant score query to avoid overflowing clauses
      return new ConstantScoreQuery(new WildcardFilter(((WildcardQuery)q).getTerm()));
    }
    return q;
  }
View Full Code Here

                    .boost(i).build());
        }

        reader = refreshReader(reader);
        IndexSearcher searcher = new IndexSearcher(reader);
        assertThat(Lucene.count(searcher, new ConstantScoreQuery(filterCache.cache(new TermFilter(new Term("id", "1")))), -1), equalTo(1l));
        assertThat(Lucene.count(searcher, new FilteredQuery(new MatchAllDocsQuery(), filterCache.cache(new TermFilter(new Term("id", "1")))), -1), equalTo(1l));

        indexWriter.deleteDocuments(new Term("id", "1"));
        reader = refreshReader(reader);
        searcher = new IndexSearcher(reader);
        TermFilter filter = new TermFilter(new Term("id", "1"));
        Filter cachedFilter = filterCache.cache(filter);
        long constantScoreCount = filter == cachedFilter ? 0 : 1;
        // sadly, when caching based on cacheKey with NRT, this fails, that's why we have DeletionAware one
        assertThat(Lucene.count(searcher, new ConstantScoreQuery(cachedFilter), -1), equalTo(constantScoreCount));
        assertThat(Lucene.count(searcher, new DeletionAwareConstantScoreQuery(cachedFilter), -1), equalTo(0l));
        assertThat(Lucene.count(searcher, new FilteredQuery(new MatchAllDocsQuery(), cachedFilter), -1), equalTo(0l));

        indexWriter.close();
    }
View Full Code Here

            Query query1 = new DeletionAwareConstantScoreQuery(filter);
            query1.setBoost(boost);
            return query1;
        }
        // Query
        query = new ConstantScoreQuery(query);
        query.setBoost(boost);
        return query;
    }
View Full Code Here

TOP

Related Classes of org.apache.lucene.search.ConstantScoreQuery

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.