1

I am using Lucene Search Engine (v36), with the StandardAnalyzer. I use the MultiFieldQueryParser.

One of my fields is set as NOT_ANALYZED, because it's a version name containing alphanumeric characters and points. When this field contains an upper character, the search finds no results. Any Idea ?

Details:

The field contains values like:

  • version1.26.12.test.a
  • version1.26.12.test.b
  • v1.2
  • version1.Dummy

My search is returning results for the three first example above, but not for the last one.

I have not customized Lucene at all except that I bypassed the standard stopwords with Collections.emptySet().

Thanks a lot. Dimitri

daiquiri33
  • 65
  • 2
  • 7

1 Answers1

3

I believe if you mark a field as NOT_ANALYZED it is stored as is, however StandardAnalyzer uses LowerCaseFilter (and other see link). So if you search for "version1.Dummy", your query string would probably be "version1.dummy" which won't match to the stored string.

Bela Vizer
  • 2,527
  • 22
  • 26
  • Hi, thank you for your answer. It makes sense, but unfortunately it doesn't solve the problem. Searching for version1.dummy doesn't retrieve any data, but version1.?ummy does. What should I do ? – daiquiri33 Sep 11 '12 at 05:58
  • 1
    you should make sure your query string does not go threw any `QueryAnalyzer`, if the field is NOT_ANALYZED. – dolbi Sep 11 '12 at 06:11