Lucene - Core
  1. Lucene - Core
  2. LUCENE-2018

Reconsider boolean max clause exception

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 4.9, 5.0
    • Component/s: core/search
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      Now that we have smarter multi-term queries, I think its time to reconsider the boolean max clause setting. It made more sense before, because you could hit it more unaware when the multi-term queries got huge - now its more likely that if it happens its because a user built the boolean themselves. And no duh thousands more boolean clauses means slower perf and more resources needed. We don't throw an exception when you try to use a ton of resources in a thousand other ways.

      The current setting also suffers from the static hell argument - especially when you consider something like Solr's multicore feature - you can have different settings for this in different cores, and the last one is going to win. Its ugly. Yes, that could be addressed better in Solr as well - but I still think it should be less ugly in Lucene as well.

      I'd like to consider either doing away with it, or raising it by quite a bit at the least. Or an alternative better solution. Right now, it aint so great.

        Activity

        Hide
        Michael McCandless added a comment -

        I think removing it makes sense?

        Show
        Michael McCandless added a comment - I think removing it makes sense?
        Hide
        Yonik Seeley added a comment -

        Fuzzy query uses it to limit terms. Any others?

        Show
        Yonik Seeley added a comment - Fuzzy query uses it to limit terms. Any others?
        Hide
        Mark Miller added a comment -

        Ah, right - not the first time I've forgotten Fuzzy didnt get the new rewrite treatment.

        Show
        Mark Miller added a comment - Ah, right - not the first time I've forgotten Fuzzy didnt get the new rewrite treatment.
        Hide
        Mark Miller added a comment -

        I still think this should be removed - or moved to the MTQ query itself - then a setting on the queryparser could set it, or a user could set it. It shouldn't be a sys property, and I don't necessarily think it should be on by default either.

        Show
        Mark Miller added a comment - I still think this should be removed - or moved to the MTQ query itself - then a setting on the queryparser could set it, or a user could set it. It shouldn't be a sys property, and I don't necessarily think it should be on by default either.
        Hide
        Michael McCandless added a comment -

        I still think this should be removed -

        +1

        Show
        Michael McCandless added a comment - I still think this should be removed - +1
        Hide
        Uwe Schindler added a comment -

        +1.

        And Fuzzy Query's PQ then would use the MTQ value as max size.

        Show
        Uwe Schindler added a comment - +1. And Fuzzy Query's PQ then would use the MTQ value as max size.
        Hide
        Steve Rowe added a comment -

        Bulk move 4.4 issues to 4.5 and 5.0

        Show
        Steve Rowe added a comment - Bulk move 4.4 issues to 4.5 and 5.0
        Hide
        Uwe Schindler added a comment -

        Move issue to Lucene 4.9.

        Show
        Uwe Schindler added a comment - Move issue to Lucene 4.9.

          People

          • Assignee:
            Unassigned
            Reporter:
            Mark Miller
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development