Hi, 

When user entered text contains special character, can this being taken care
by the tokenizer/filter configured at the field?

In application code, Do i need to parse the user input string and add the
escape in front of those special character?  If so, will those special
characters differ for different language, such as english versus chinese?     

As of now, I didn't parse those special character.  i am getting this
inconsistent/strange behavior/error.  For example:

1. search: title_name_en_US:(my! god)
solr thinks the second term "god" is something NOT to include, why is that?
<lst name="debug">
<str name="rawquerystring">title_name_en_US:(my! god)</str>
<str name="querystring">title_name_en_US:(my! god)</str>
<str name="parsedquery">title_name_en_US:my -title_name_en_US:god</str>
<str name="parsedquery_toString">title_name_en_US:my
-title_name_en_US:god</str>

2. search: title_name_en_US:my!
solr return error instead, even worse:  -->

INFO: [titles] webapp=/solr path=/select
params={explainOther=&fl=*,score&debugQ
uery=on&indent=on&start=0&q=title_name_en_US:(Oh!)&hl.fl=&qt=standard&wt=standar
d&fq=&rows=10&version=2.2} status=400 QTime=0
May 7, 2011 2:13:48 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException:
org.apache.lucene.queryParser.Pars
eException: Cannot parse 'title_name_en_US:Oh!': Encountered "<EOF>" at line
1,
column 20.
Was expecting one of:
    "(" ...
    "*" ...
    <QUOTED> ...
    <TERM> ...
    <PREFIXTERM> ...
    <WILDTERM> ...
    "[" ...
    "{" ...
    <NUMBER> ...
    <TERM> ...
    "*" ...

        at
org.apache.solr.handler.component.QueryComponent.prepare(QueryCompone
nt.java:108)
        at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(Sea
rchHandler.java:181)
        at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandl
erBase.java:131)

Caused by: org.apache.lucene.queryParser.ParseException: Cannot parse
'title_nam
e_en_US:my!': Encountered "<EOF>" at line 1, column 20.
Was expecting one of:
    "(" ...
    "*" ...
    <QUOTED> ...
    <TERM> ...
    <PREFIXTERM> ...
    <WILDTERM> ...
    "[" ...
    "{" ...
    <NUMBER> ...
    <TERM> ...
    "*" ...

        at
org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:205)


--
View this message in context: 
http://lucene.472066.n3.nabble.com/Why-special-character-is-handled-differently-by-standard-lucene-query-parser-tp2910692p2910692.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to