What field type analyzer and tokenizer are you using, and what does a sample of the input data look like?

Generally, a single backslash I all that is needed for escaping.

And, escaping is not needed within a quoted phrase, except for quotes and literal backslashes.

-- Jack Krupansky

-----Original Message----- From: jefferyyuan
Sent: Friday, July 19, 2013 6:01 PM
To: solr-user@lucene.apache.org
Subject: The way edismax parses colon seems weird

In our application, user may search error code like 12:34.

We define default search field, like: <str name="qf">title^10 body_stored^8
content^5</str>
So when user search: 12:34, we want to search the error code in the
specified fields.

In the code, if we search q=12:34 directly, this can't find anything. It's
expected as it'ss to search 34 on 12 field.

Then we try to escape the colon, search: 12\:34, the parsedquery would be
+12\:34, still can't find the expected page.
<str name="parsedquery">(+12\:34)/no_coord</str>
<str name="parsedquery_toString">+12\:34</str>
<str name="QParser">ExtendedDismaxQParser</str>

If I type 2 \\, seems it can find the error page:
q=12\\:34
<str name="parsedquery">
(+DisjunctionMaxQuery((content:"12 34"^0.5 | body_stored:"(12\:34 12)
34"^0.8 | title:"12 34"^1.1)))/no_coord
</str>
<str name="parsedquery_toString">
+(content:"12 34"^0.5 | body_stored:"(12\:34 12) 34"^0.8 | title:"12
34"^1.1)
</str>
<str name="QParser">ExtendedDismaxQParser</str>

Is this a bug in Solr edismax or not?



--
View this message in context: http://lucene.472066.n3.nabble.com/The-way-edismax-parses-colon-seems-weird-tp4079226.html Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to