You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Zheng Lin Edwin Yeo <ed...@gmail.com> on 2016/07/01 04:13:00 UTC
Re: Error when searching with special characters
Hi,
When I use defType=edismax, and using debug mode by setting debug=True, I
found that the search for "r&d" is actually done to search on just the
character "r".
http://localhost:8983/solr/collection1/highlight?q=
"r&d"&debugQuery=true&defType=edismax
"debug":{
"rawquerystring":"\"r",
"querystring":"\"r",
"parsedquery":"(+DisjunctionMaxQuery((text:r)))/no_coord",
"parsedquery_toString":"+(text:r)"
Even if I search with escape character, it is of no help.
http://localhost:8983/solr/collection1/highlight?q=
"r\&d"&debugQuery=true&defType=edismax
"debug":{
"rawquerystring":"\"r\\",
"querystring":"\"r\\",
"parsedquery":"(+DisjunctionMaxQuery((text:r)))/no_coord",
"parsedquery_toString":"+(text:r)",
But if I'm using other symbols like "r*d", then the search is ok.
http://localhost:8983/solr/collection1/highlight?q=
"r*d"&debugQuery=true&defType=edismax
"debug":{
"rawquerystring":"\"r*d\"",
"querystring":"\"r*d\"",
"parsedquery":"(+DisjunctionMaxQuery((text:\"r d\")))/no_coord",
"parsedquery_toString":"+(text:\"r d\")",
What could be the reason behind this?
Regards,
Edwin
On 20 June 2016 at 02:12, Ahmet Arslan <io...@yahoo.com> wrote:
> Hi,
>
> It is better to create a failing junit test case before opening jira.
>
> ahmet
>
>
> On Sunday, June 19, 2016 4:44 PM, Zheng Lin Edwin Yeo <
> edwinyeozl@gmail.com> wrote:
>
>
> Yes, it throws the parse exception even if the query is properly escaped
> for ampersand (&) for defType=lucene.
>
> Should we treat this as a bug, and create a JIRA>
>
> Regards,
> Edwin
>
>
>
> On 19 June 2016 at 08:07, Ahmet Arslan <io...@yahoo.com> wrote:
>
>
>
> If properly escaped ampersand throws parse exception, this could be a bug.
>
>
>
> On Saturday, June 18, 2016 7:12 PM, Zheng Lin Edwin Yeo <
> edwinyeozl@gmail.com> wrote:
> Hi,
>
> It does not work with the back slash too.
>
> But I found that it does not work for defType=lucene.
> It will work if the defType=dismax or edismax.
>
> What could be the reason that it did not work with the default
> defType=lucene?
>
> Regards,
> Edwin
>
>
>
> On 18 June 2016 at 01:04, Ahmet Arslan <io...@yahoo.com.invalid> wrote:
>
> > Hi,
> >
> > May be URL encoding issue?
> > By the way, I would use back slash to escape special characters.
> >
> > Ahmet
> >
> > On Friday, June 17, 2016 10:08 AM, Zheng Lin Edwin Yeo <
> > edwinyeozl@gmail.com> wrote:
> >
> >
> >
> > Hi,
> >
> > I encountered this error when I tried to search with special characters,
> > like "&" and "#".
> >
> > {
> > "responseHeader":{
> > "status":400,
> > "QTime":0},
> > "error":{
> > "msg":"org.apache.solr.search.SyntaxError: Cannot parse
> > '\"Research ': Lexical error at line 1, column 11. Encountered: <EOF>
> > after : \"\\\"Research \"",
> > "code":400}}
> >
> >
> > I have done the search by putting inverted commands, like: q="Research &
> > Development"
> >
> > What could be the issue here?
> >
> > I'm facing this problem in both Solr 5.4.0 and Solr 6.0.1.
> >
> >
> > Regards,
> > Edwin
> >
>
>
>
>
>
Re: Error when searching with special characters
Posted by Zheng Lin Edwin Yeo <ed...@gmail.com>.
Hi Ere,
Yes, this works.
Thanks for your reply.
Regards,
Edwin
On 1 July 2016 at 15:00, Ere Maijala <er...@helsinki.fi> wrote:
> You need to make sure you encode things properly in the URL. You can't
> just place an ampersand there because it's the parameter delimiter in a
> URL. If you're unsure, use e.g. http://meyerweb.com/eric/tools/dencoder/
> to encode your search terms. You'll see that "r&d" will become %22r%26d%22.
> Escaping the ampersand for Solr is another thing. If that's needed, you'll
> need to URL encode "r\&d" so that it becomes %22r%5C%26d%22.
>
> --Ere
>
>
> 1.7.2016, 7.13, Zheng Lin Edwin Yeo kirjoitti:
>
>> Hi,
>>
>> When I use defType=edismax, and using debug mode by setting debug=True, I
>> found that the search for "r&d" is actually done to search on just the
>> character "r".
>>
>> http://localhost:8983/solr/collection1/highlight?q=
>> "r&d"&debugQuery=true&defType=edismax
>>
>> "debug":{
>> "rawquerystring":"\"r",
>> "querystring":"\"r",
>> "parsedquery":"(+DisjunctionMaxQuery((text:r)))/no_coord",
>> "parsedquery_toString":"+(text:r)"
>>
>>
>> Even if I search with escape character, it is of no help.
>>
>> http://localhost:8983/solr/collection1/highlight?q=
>> "r\&d"&debugQuery=true&defType=edismax
>>
>> "debug":{
>> "rawquerystring":"\"r\\",
>> "querystring":"\"r\\",
>> "parsedquery":"(+DisjunctionMaxQuery((text:r)))/no_coord",
>> "parsedquery_toString":"+(text:r)",
>>
>>
>>
>> But if I'm using other symbols like "r*d", then the search is ok.
>>
>> http://localhost:8983/solr/collection1/highlight?q=
>> "r*d"&debugQuery=true&defType=edismax
>>
>> "debug":{
>> "rawquerystring":"\"r*d\"",
>> "querystring":"\"r*d\"",
>> "parsedquery":"(+DisjunctionMaxQuery((text:\"r d\")))/no_coord",
>> "parsedquery_toString":"+(text:\"r d\")",
>>
>>
>> What could be the reason behind this?
>>
>>
>> Regards,
>> Edwin
>>
>>
>> On 20 June 2016 at 02:12, Ahmet Arslan <io...@yahoo.com> wrote:
>>
>> Hi,
>>>
>>> It is better to create a failing junit test case before opening jira.
>>>
>>> ahmet
>>>
>>>
>>> On Sunday, June 19, 2016 4:44 PM, Zheng Lin Edwin Yeo <
>>> edwinyeozl@gmail.com> wrote:
>>>
>>>
>>> Yes, it throws the parse exception even if the query is properly escaped
>>> for ampersand (&) for defType=lucene.
>>>
>>> Should we treat this as a bug, and create a JIRA>
>>>
>>> Regards,
>>> Edwin
>>>
>>>
>>>
>>> On 19 June 2016 at 08:07, Ahmet Arslan <io...@yahoo.com> wrote:
>>>
>>>
>>>
>>> If properly escaped ampersand throws parse exception, this could be a
>>> bug.
>>>
>>>
>>>
>>> On Saturday, June 18, 2016 7:12 PM, Zheng Lin Edwin Yeo <
>>> edwinyeozl@gmail.com> wrote:
>>> Hi,
>>>
>>> It does not work with the back slash too.
>>>
>>> But I found that it does not work for defType=lucene.
>>> It will work if the defType=dismax or edismax.
>>>
>>> What could be the reason that it did not work with the default
>>> defType=lucene?
>>>
>>> Regards,
>>> Edwin
>>>
>>>
>>>
>>> On 18 June 2016 at 01:04, Ahmet Arslan <io...@yahoo.com.invalid>
>>> wrote:
>>>
>>> Hi,
>>>>
>>>> May be URL encoding issue?
>>>> By the way, I would use back slash to escape special characters.
>>>>
>>>> Ahmet
>>>>
>>>> On Friday, June 17, 2016 10:08 AM, Zheng Lin Edwin Yeo <
>>>> edwinyeozl@gmail.com> wrote:
>>>>
>>>>
>>>>
>>>> Hi,
>>>>
>>>> I encountered this error when I tried to search with special characters,
>>>> like "&" and "#".
>>>>
>>>> {
>>>> "responseHeader":{
>>>> "status":400,
>>>> "QTime":0},
>>>> "error":{
>>>> "msg":"org.apache.solr.search.SyntaxError: Cannot parse
>>>> '\"Research ': Lexical error at line 1, column 11. Encountered: <EOF>
>>>> after : \"\\\"Research \"",
>>>> "code":400}}
>>>>
>>>>
>>>> I have done the search by putting inverted commands, like: q="Research &
>>>> Development"
>>>>
>>>> What could be the issue here?
>>>>
>>>> I'm facing this problem in both Solr 5.4.0 and Solr 6.0.1.
>>>>
>>>>
>>>> Regards,
>>>> Edwin
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>
> --
> Ere Maijala
> Kansalliskirjasto / The National Library of Finland
>
Re: Error when searching with special characters
Posted by Ere Maijala <er...@helsinki.fi>.
You need to make sure you encode things properly in the URL. You can't
just place an ampersand there because it's the parameter delimiter in a
URL. If you're unsure, use e.g. http://meyerweb.com/eric/tools/dencoder/
to encode your search terms. You'll see that "r&d" will become
%22r%26d%22. Escaping the ampersand for Solr is another thing. If that's
needed, you'll need to URL encode "r\&d" so that it becomes %22r%5C%26d%22.
--Ere
1.7.2016, 7.13, Zheng Lin Edwin Yeo kirjoitti:
> Hi,
>
> When I use defType=edismax, and using debug mode by setting debug=True, I
> found that the search for "r&d" is actually done to search on just the
> character "r".
>
> http://localhost:8983/solr/collection1/highlight?q=
> "r&d"&debugQuery=true&defType=edismax
>
> "debug":{
> "rawquerystring":"\"r",
> "querystring":"\"r",
> "parsedquery":"(+DisjunctionMaxQuery((text:r)))/no_coord",
> "parsedquery_toString":"+(text:r)"
>
>
> Even if I search with escape character, it is of no help.
>
> http://localhost:8983/solr/collection1/highlight?q=
> "r\&d"&debugQuery=true&defType=edismax
>
> "debug":{
> "rawquerystring":"\"r\\",
> "querystring":"\"r\\",
> "parsedquery":"(+DisjunctionMaxQuery((text:r)))/no_coord",
> "parsedquery_toString":"+(text:r)",
>
>
>
> But if I'm using other symbols like "r*d", then the search is ok.
>
> http://localhost:8983/solr/collection1/highlight?q=
> "r*d"&debugQuery=true&defType=edismax
>
> "debug":{
> "rawquerystring":"\"r*d\"",
> "querystring":"\"r*d\"",
> "parsedquery":"(+DisjunctionMaxQuery((text:\"r d\")))/no_coord",
> "parsedquery_toString":"+(text:\"r d\")",
>
>
> What could be the reason behind this?
>
>
> Regards,
> Edwin
>
>
> On 20 June 2016 at 02:12, Ahmet Arslan <io...@yahoo.com> wrote:
>
>> Hi,
>>
>> It is better to create a failing junit test case before opening jira.
>>
>> ahmet
>>
>>
>> On Sunday, June 19, 2016 4:44 PM, Zheng Lin Edwin Yeo <
>> edwinyeozl@gmail.com> wrote:
>>
>>
>> Yes, it throws the parse exception even if the query is properly escaped
>> for ampersand (&) for defType=lucene.
>>
>> Should we treat this as a bug, and create a JIRA>
>>
>> Regards,
>> Edwin
>>
>>
>>
>> On 19 June 2016 at 08:07, Ahmet Arslan <io...@yahoo.com> wrote:
>>
>>
>>
>> If properly escaped ampersand throws parse exception, this could be a bug.
>>
>>
>>
>> On Saturday, June 18, 2016 7:12 PM, Zheng Lin Edwin Yeo <
>> edwinyeozl@gmail.com> wrote:
>> Hi,
>>
>> It does not work with the back slash too.
>>
>> But I found that it does not work for defType=lucene.
>> It will work if the defType=dismax or edismax.
>>
>> What could be the reason that it did not work with the default
>> defType=lucene?
>>
>> Regards,
>> Edwin
>>
>>
>>
>> On 18 June 2016 at 01:04, Ahmet Arslan <io...@yahoo.com.invalid> wrote:
>>
>>> Hi,
>>>
>>> May be URL encoding issue?
>>> By the way, I would use back slash to escape special characters.
>>>
>>> Ahmet
>>>
>>> On Friday, June 17, 2016 10:08 AM, Zheng Lin Edwin Yeo <
>>> edwinyeozl@gmail.com> wrote:
>>>
>>>
>>>
>>> Hi,
>>>
>>> I encountered this error when I tried to search with special characters,
>>> like "&" and "#".
>>>
>>> {
>>> "responseHeader":{
>>> "status":400,
>>> "QTime":0},
>>> "error":{
>>> "msg":"org.apache.solr.search.SyntaxError: Cannot parse
>>> '\"Research ': Lexical error at line 1, column 11. Encountered: <EOF>
>>> after : \"\\\"Research \"",
>>> "code":400}}
>>>
>>>
>>> I have done the search by putting inverted commands, like: q="Research &
>>> Development"
>>>
>>> What could be the issue here?
>>>
>>> I'm facing this problem in both Solr 5.4.0 and Solr 6.0.1.
>>>
>>>
>>> Regards,
>>> Edwin
>>>
>>
>>
>>
>>
>>
>
--
Ere Maijala
Kansalliskirjasto / The National Library of Finland