static boolean isCostly(Filter filter) { // This does not measure the cost of iterating over the filter (for this we // already have the DocIdSetIterator#cost API) but the cost to build the // DocIdSet in the first place return filter instanceof QueryWrapperFilter && ((QueryWrapperFilter) filter).getQuery() instanceof MultiTermQuery; }
static boolean isCostly(Filter filter) { // This does not measure the cost of iterating over the filter (for this we // already have the DocIdSetIterator#cost API) but the cost to build the // DocIdSet in the first place return filter instanceof QueryWrapperFilter && ((QueryWrapperFilter) filter).getQuery() instanceof MultiTermQuery; }
/** * Filter a SpanQuery. * * @param source the query to filter * @param filter the filter query * @deprecated supply a Query as a filter instead of the deprecated Filter class */ @Deprecated public SpanQueryFiltered(BLSpanQuery source, Filter filter) { super(source); if (!(filter instanceof QueryWrapperFilter)) { throw new UnsupportedOperationException("Filter must be a QueryWrapperFilter!"); } this.filter = ((QueryWrapperFilter) filter).getQuery(); }
@Deprecated public BLSpanQuery createSpanQuery(TextPattern pattern, String fieldName, org.apache.lucene.search.Filter filter) { if (filter == null || filter instanceof org.apache.lucene.search.QueryWrapperFilter) { Query filterQuery = filter == null ? null : ((org.apache.lucene.search.QueryWrapperFilter) filter).getQuery(); return createSpanQuery(pattern, fieldName, filterQuery); } throw new UnsupportedOperationException("Filter must be a QueryWrapperFilter!"); }
/** * @deprecated use version that takes a Query as a filter */ @SuppressWarnings("javadoc") @Deprecated public Hits find(TextPattern pattern, String fieldName, org.apache.lucene.search.Filter filter) { if (filter == null || filter instanceof org.apache.lucene.search.QueryWrapperFilter) { Query filterQuery = filter == null ? null : ((org.apache.lucene.search.QueryWrapperFilter) filter).getQuery(); return find(createSpanQuery(pattern, fieldName, filterQuery), fieldName); } throw new UnsupportedOperationException("Filter must be a QueryWrapperFilter!"); }
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 ); }
JsonObject result = fromLuceneQuery( ( (QueryWrapperFilter) query ).getQuery() ); return wrapBoostIfNecessary( result, query.getBoost() );
JsonObject result = fromLuceneQuery( ( (QueryWrapperFilter) query ).getQuery() ); return wrapBoostIfNecessary( result, query.getBoost() );