Greetings,
I'm searching against a data set using lucene that contains searches
such as the following:
*ache*
*aChe*
etc and so forth, sadly this part of the dataset is imported via an
external client, so we have no real way of controlling how they format it.
Now, to make matters a bit more complex, my clients have decided to turn
off all wildcard searching, EXCEPT for prefix searches, so when I
process the query string I go ahead and go through it and escape out all
lucene special characters, except for the trailing *.
So I end up sending the following string to the query parser:
\*ache* (I'm doing standard things like converting everything to lowercase)
and when I put that into the query parser its throwing the following
exception:
12:23:05,602 INFO [STDOUT]
org.apache.lucene.queryParser.ParseException: Cannot parse '\*ache*':
'*' not allowed as first character in PrefixQuery
12:23:05,602 INFO [STDOUT] Failure in QS_MarkerSearch.searchMarkerNomen
12:23:05,602 ERROR [STDERR] java.lang.NullPointerException
12:23:05,602 ERROR [STDERR] at
org.jax.mgi.search.model.QS_MarkerSearch.searchInexactMatches(Unknown
Source)
Which looks to me alot like something akin to the AllowLeadingWildcard
stuff that comes along with wildcardqueries.
But, the odd thing is the leading character in my search string ISN'T *,
its the escaped star character, which I would have thought would work
with no problems at all.
Have I stumbled across a bug here?
Matt
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]