Details

    • Type: Task
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.3, 6.0
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      In the same spirit as LUCENE-6531 for the PhraseQuery, we should make BooleanQuery immutable.

      The plan is the following:

      • create BooleanQuery.Builder with the same setters as BooleanQuery today (except setBoost) and a build() method that returns a BooleanQuery
      • remove setters from BooleanQuery (except setBoost)

      I would also like to add some static utility methods for common use-cases of this query, for instance:

      • static BooleanQuery disjunction(Query... queries) to create a disjunction
      • static BooleanQuery conjunction(Query... queries) to create a conjunction
      • static BooleanQuery filtered(Query query, Query... filters) to create a filtered query

      Hopefully this will help keep tests not too verbose, and the latter will also help with the FilteredQuery derecation/removal.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jpountz Adrien Grand
                Reporter:
                jpountz Adrien Grand
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: