org.hibernate.search.query.dsl.QueryCustomization Maven / Gradle / Ivy
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.search.query.dsl;
import org.apache.lucene.search.Filter;
import org.apache.lucene.search.Query;
/**
* Operations common to all types of queries
*
* @author Emmanuel Bernard
*/
public interface QueryCustomization {
/**
* Boost the query to a given value
* Most of the time positive float:
* - lower than 1 to diminish the weight
* - higher than 1 to increase the weight
*
* Could be negative but not unless you understand what is going on (advanced)
* @param boost the value to use as boost
* @return an instance of T for method chaining
*/
T boostedTo(float boost);
/**
* All results matching the query have a constant score equals to the boost
* FIXME is that true?
* @return an instance of T for method chaining
*/
T withConstantScore();
/**
* Filter the query results with the given Query instance
* @param filter the Query to use as a filter
* @return an instance of T for method chaining
*/
T filteredBy(Query filter);
/**
* Filter the query results with the given Query instance
* @deprecated Lucene {@link Filter}s have been deprecated and will be removed in a future version.
* Please use {@link Query Queries} instead of {@link Filter}s
* and use {@link #filteredBy(Query)} instead of this method.
* @param filter the Query to use as a filter
* @return an instance of T for method chaining
*/
@Deprecated
default T filteredBy(Filter filter) {
return filteredBy( (Query) filter );
}
//TODO filter(String) + parameters
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy