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

Wildcard query with no wildcard characters in the term throws StringIndexOutOfBounds exception

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.9
    • None
    • core/search
    • None
    • linux and windows, JRE 1.4.2_06 Lucene 1.9.1

    Description

      Query q1 = new WildcardQuery(new Term("Text", "a"));
      Hits hits = searcher.search(q1);

      Caught Exception
      java.lang.StringIndexOutOfBoundsException : String index out of range: -1
      at java.lang.String.substring(Unknown Source)
      at org.apache.lucene.search.WildcardTermEnum.<init>(WildcardTermEnum.java:65)
      at org.apache.lucene.search.WildcardQuery.getEnum (WildcardQuery.java:38)
      at org.apache.lucene.search.MultiTermQuery.rewrite(MultiTermQuery.java:54)
      at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:137)
      at org.apache.lucene.search.Query.weight (Query.java:92)
      at org.apache.lucene.search.Hits.<init>(Hits.java:41)
      at org.apache.lucene.search.Searcher.search(Searcher.java:44)
      at org.apache.lucene.search.Searcher.search(Searcher.java:36)
      at QuickTest.main(QuickTest.java:45)

      From Erik Hatcher

      Feel free to log this as a bug report in our JIRA issue tracker. It
      seems like a reasonable change to make, such that a WildcardQuery
      without a wildcard character would behave like TermQuery.

      Attachments

        1. lucene543.patch
          2 kB
          Michael Busch

        Activity

          People

            michaelbusch Michael Busch
            erickerickson Erick Erickson
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: