Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2605

queryparser parses on whitespace

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 6.2
    • core/queryparser
    • None

    Description

      The queryparser parses input on whitespace, and sends each whitespace separated term to its own independent token stream.

      This breaks the following at query-time, because they can't see across whitespace boundaries:

      • n-gram analysis
      • shingles
      • synonyms (especially multi-word for whitespace-separated languages)
      • languages where a 'word' can contain whitespace (e.g. vietnamese)

      Its also rather unexpected, as users think their charfilters/tokenizers/tokenfilters will do the same thing at index and querytime, but
      in many cases they can't. Instead, preferably the queryparser would parse around only real 'operators'.

      Attachments

        1. LUCENE-2605.patch
          86 kB
          Steven Rowe
        2. LUCENE-2605.patch
          57 kB
          Steven Rowe
        3. LUCENE-2605.patch
          44 kB
          Steven Rowe
        4. LUCENE-2605.patch
          48 kB
          Steven Rowe
        5. LUCENE-2605.patch
          21 kB
          Steven Rowe
        6. LUCENE-2605.patch
          12 kB
          Steven Rowe
        7. LUCENE-2605-dont-split-by-default.patch
          5 kB
          Steven Rowe

        Issue Links

          Activity

            People

              sarowe Steven Rowe
              rcmuir Robert Muir
              Votes:
              28 Vote for this issue
              Watchers:
              45 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: