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

Query parts ending with a colon are handled badly

Details

    • Bug
    • Status: Reopened
    • Minor
    • Resolution: Unresolved
    • 1.4
    • None
    • core/queryparser
    • Operating System: Windows 2000
      Platform: PC

    • 34453

    Description

      I'm using Lucene 1.4.3, running
      Query query = QueryParser.parse(queryString, "contents", new StandardAnalyzer());

      If queryString is "search title:" i.e. specifying a field name without a
      corresponding value, I get a parsing exception:

      Encountered "<EOF>" at line 1, column 8.
      Was expecting one of:
      "(" ...
      <QUOTED> ...
      <TERM> ...
      <PREFIXTERM> ...
      <WILDTERM> ...
      "[" ...
      "{" ...
      <NUMBER> ...

      If queryString is "title: search", there's no exception. However, the parsed
      query which is returned is "title:search". If queryString is "title: contents:
      text", the parsed query is "title:contents" and the "text" part is ignored
      completely. When queryString is "title: text contents:" the above exception is
      produced again.

      This seems inconsistent. Given that it's pointless searching for an empty
      string (since it has no tokens), I'd expect both "search title:" & "title:
      search" to be parsed as "search" (or, given the default field I specified,
      "contents:search"), and "title: contents: text" & "title: text contents:" to
      parse as "text" ("contents:text") i.e. parts which have no term are ignored. At
      worst I'd expect them all to throw a ParseException rather than just the ones
      with the colon at the end of the string.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ats37@hotmail.com Andrew Stevens
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: