Interface BooleanJunction<T extends BooleanJunction>

  • All Superinterfaces:
    QueryCustomization<T>, Termination
    All Known Subinterfaces:
    MustJunction

    @Deprecated
    public interface BooleanJunction<T extends BooleanJunction>
    extends QueryCustomization<T>, Termination
    Deprecated.
    See the deprecation note on QueryBuilder.
    Represents a boolean query that can contains one or more elements to join

    "minimumShouldMatch" constraints

    "minimumShouldMatch" constraints define a minimum number of "should" clauses that have to match in order for the boolean junction to match.

    The feature is similar, and will work identically, to "Min Number Should Match" in Solr or minimum_should_match in Elasticsearch.

    Definition of the minimum

    The minimum may be defined either directly as a positive number, or indirectly as a negative number or positive or negative percentage representing a ratio of the total number of "should" clauses in this boolean junction.

    Here is how each type of input is interpreted:

    Positive number
    The value is interpreted directly as the minimum number of "should" clauses that have to match.
    Negative number
    The absolute value is interpreted as the maximum number of "should" clauses that may not match: the absolute value is subtracted from the total number of "should" clauses.
    Positive percentage
    The value is interpreted as the minimum percentage of the total number of "should" clauses that have to match: the percentage is applied to the total number of "should" clauses, then rounded down.
    Negative percentage
    The absolute value is interpreted as the maximum percentage of the total number of "should" clauses that may not match: the absolute value of the percentage is applied to the total number of "should" clauses, then rounded down, then subtracted from the total number of "should" clauses.

    In any case, if the computed minimum is 0 or less, or higher than the total number of "should" clauses, behavior is backend-specific (it may throw an exception, or produce unpredictable results, or fall back to some default behavior).

    Examples:

    
         // Example 1: at least 3 "should" clauses have to match
         booleanContext1.minimumShouldMatchNumber( 3 );
         // Example 2: at most 2 "should" clauses may not match
         booleanContext2.minimumShouldMatchNumber( -2 );
         // Example 3: at least 75% of "should" clauses have to match (rounded down)
         booleanContext3.minimumShouldMatchPercent( 75 );
         // Example 4: at most 25% of "should" clauses may not match (rounded down)
         booleanContext4.minimumShouldMatchPercent( -25 );
     
    Author:
    Emmanuel Bernard
    • Method Detail

      • should

        BooleanJunction should​(Query query)
        Deprecated.
        The boolean query results should match the subquery
        Parameters:
        query - the query to match (nulls are ignored)
        Returns:
        a BooleanJunction
      • must

        MustJunction must​(Query query)
        Deprecated.
        The boolean query results must (or must not) match the subquery Call the .not() method to ensure results of the boolean query do NOT match the subquery.
        Parameters:
        query - the query to match (nulls are ignored)
        Returns:
        a MustJunction
      • isEmpty

        boolean isEmpty()
        Deprecated.
        Returns:
        true if no restrictions have been applied
      • minimumShouldMatchNumber

        BooleanJunction minimumShouldMatchNumber​(int matchingClausesNumber)
        Deprecated.
        Parameters:
        matchingClausesNumber - A definition of the number of "should" clauses that have to match. If positive, it is the number of clauses that have to match. See Definition of the minimum for details and possible values, in particular negative values.
        Returns:
        this, for method chaining.
      • minimumShouldMatchPercent

        BooleanJunction minimumShouldMatchPercent​(int matchingClausesPercent)
        Deprecated.
        Parameters:
        matchingClausesPercent - A definition of the number of "should" clauses that have to match, as a percentage. If positive, it is the percentage of the total number of "should" clauses that have to match. See Definition of the minimum for details and possible values, in particular negative values.
        Returns:
        this, for method chaining.