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 Dario Rigolin <da...@comperio.it> on 2011/03/10 16:45:36 UTC

Error on string searching # [STRANGE]

I have a text field indexed using WordDelimeter
Indexed in that way
<doc>
<field name="myfield">S.#L.W.VI.37</field>
...
</doc>

Serching in that way:
http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.#L.W.VI.37")

Makes this error:

org.apache.lucene.queryParser.ParseException: Cannot parse 'myfield:("S.': 
Lexical error at line 1, column 17.  Encountered: <EOF> after : "\"S."

It seems that # is a wrong character for query... I try urlencoding o adding a 
slash before or removing quotes but other errors comes:

http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:(S.#L.W.VI.37)

org.apache.lucene.queryParser.ParseException: Cannot parse 'myfield:(S.': 
Encountered "<EOF>" at line 1, column 15.
Was expecting one of:
    <AND> ...
    <OR> ...
    <NOT> ...
    "+" ...
    "-" ...
    "(" ...
    ")" ...
    "*" ...
    "^" ...
    <QUOTED> ...
    <TERM> ...
    <FUZZY_SLOP> ...
    <PREFIXTERM> ...
    <WILDTERM> ...
    "[" ...
    "{" ...
    <NUMBER> ...


Any idea how to solve this?
Maybe a bug? Or probably I'm missing something.

Dario.

Re: Error on string searching # [STRANGE] [FIX]

Posted by Dario Rigolin <da...@comperio.it>.
On Thursday, March 10, 2011 04:58:43 pm Dario Rigolin wrote:

It seems fixed by setting into WordDelimiterTokenizer

catenateWords="0" catenateNumbers="0" 

Instead of "1" on both...

Nice to know...


> On Thursday, March 10, 2011 04:53:51 pm Juan Grande wrote:
> > I think that the problem is with the "#" symbol, because it has a special
> > meaning when used inside a URL. Try replacing it with "%23", like this:
> > http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.%23L.W.VI.37")
> 
> If I do urlencoding and changing in %23 I get this error
> 
> 
> 3
> 
> java.lang.ArrayIndexOutOfBoundsException: 3
> 	at
> org.apache.lucene.search.MultiPhraseQuery$MultiPhraseWeight.scorer(MultiPhr
> aseQuery.java:185) at
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:208) at
> org.apache.lucene.search.Searcher.search(Searcher.java:88)
> ....
> 
> > Regards,
> > *
> > Juan G. Grande*
> > -- Solr Consultant @ http://www.plugtree.com
> > -- Blog @ http://juanggrande.wordpress.com
> > 
> > 
> > On Thu, Mar 10, 2011 at 12:45 PM, Dario Rigolin
> > 
> > <da...@comperio.it>wrote:
> > > I have a text field indexed using WordDelimeter
> > > Indexed in that way
> > > <doc>
> > > <field name="myfield">S.#L.W.VI.37</field>
> > > ...
> > > </doc>
> > > 
> > > Serching in that way:
> > > http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.#L.W.VI.37")
> > > 
> > > Makes this error:
> > > 
> > > org.apache.lucene.queryParser.ParseException: Cannot parse
> > > 'myfield:("S.': Lexical error at line 1, column 17.  Encountered: <EOF>
> > > after : "\"S."
> > > 
> > > It seems that # is a wrong character for query... I try urlencoding o
> > > adding a
> > > slash before or removing quotes but other errors comes:
> > > 
> > > http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:(S.#L.W.VI.37)
> > > 
> > > org.apache.lucene.queryParser.ParseException: Cannot parse
> > > 'myfield:(S.': Encountered "<EOF>" at line 1, column 15.
> > > 
> > > Was expecting one of:
> > >    <AND> ...
> > >    <OR> ...
> > >    <NOT> ...
> > >    "+" ...
> > >    "-" ...
> > >    "(" ...
> > >    ")" ...
> > >    "*" ...
> > >    "^" ...
> > >    <QUOTED> ...
> > >    <TERM> ...
> > >    <FUZZY_SLOP> ...
> > >    <PREFIXTERM> ...
> > >    <WILDTERM> ...
> > >    "[" ...
> > >    "{" ...
> > >    <NUMBER> ...
> > > 
> > > Any idea how to solve this?
> > > Maybe a bug? Or probably I'm missing something.
> > > 
> > > Dario.

Re: Error on string searching # [STRANGE]

Posted by Dario Rigolin <da...@comperio.it>.
On Thursday, March 10, 2011 04:53:51 pm Juan Grande wrote:
> I think that the problem is with the "#" symbol, because it has a special
> meaning when used inside a URL. Try replacing it with "%23", like this:
> http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.%23L.W.VI.37")

If I do urlencoding and changing in %23 I get this error


3

java.lang.ArrayIndexOutOfBoundsException: 3
	at 
org.apache.lucene.search.MultiPhraseQuery$MultiPhraseWeight.scorer(MultiPhraseQuery.java:185)
	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:208)
	at org.apache.lucene.search.Searcher.search(Searcher.java:88)
....
 
> Regards,
> *
> Juan G. Grande*
> -- Solr Consultant @ http://www.plugtree.com
> -- Blog @ http://juanggrande.wordpress.com
> 
> 
> On Thu, Mar 10, 2011 at 12:45 PM, Dario Rigolin
> 
> <da...@comperio.it>wrote:
> > I have a text field indexed using WordDelimeter
> > Indexed in that way
> > <doc>
> > <field name="myfield">S.#L.W.VI.37</field>
> > ...
> > </doc>
> > 
> > Serching in that way:
> > http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.#L.W.VI.37")
> > 
> > Makes this error:
> > 
> > org.apache.lucene.queryParser.ParseException: Cannot parse
> > 'myfield:("S.': Lexical error at line 1, column 17.  Encountered: <EOF>
> > after : "\"S."
> > 
> > It seems that # is a wrong character for query... I try urlencoding o
> > adding a
> > slash before or removing quotes but other errors comes:
> > 
> > http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:(S.#L.W.VI.37)
> > 
> > org.apache.lucene.queryParser.ParseException: Cannot parse 'myfield:(S.':
> > Encountered "<EOF>" at line 1, column 15.
> > 
> > Was expecting one of:
> >    <AND> ...
> >    <OR> ...
> >    <NOT> ...
> >    "+" ...
> >    "-" ...
> >    "(" ...
> >    ")" ...
> >    "*" ...
> >    "^" ...
> >    <QUOTED> ...
> >    <TERM> ...
> >    <FUZZY_SLOP> ...
> >    <PREFIXTERM> ...
> >    <WILDTERM> ...
> >    "[" ...
> >    "{" ...
> >    <NUMBER> ...
> > 
> > Any idea how to solve this?
> > Maybe a bug? Or probably I'm missing something.
> > 
> > Dario.

Re: Error on string searching # [STRANGE]

Posted by Juan Grande <ju...@plugtree.com>.
I think that the problem is with the "#" symbol, because it has a special
meaning when used inside a URL. Try replacing it with "%23", like this:
http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.%23L.W.VI.37")

Regards,
*
Juan G. Grande*
-- Solr Consultant @ http://www.plugtree.com
-- Blog @ http://juanggrande.wordpress.com


On Thu, Mar 10, 2011 at 12:45 PM, Dario Rigolin
<da...@comperio.it>wrote:

> I have a text field indexed using WordDelimeter
> Indexed in that way
> <doc>
> <field name="myfield">S.#L.W.VI.37</field>
> ...
> </doc>
>
> Serching in that way:
> http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:("S.#L.W.VI.37")
>
> Makes this error:
>
> org.apache.lucene.queryParser.ParseException: Cannot parse 'myfield:("S.':
> Lexical error at line 1, column 17.  Encountered: <EOF> after : "\"S."
>
> It seems that # is a wrong character for query... I try urlencoding o
> adding a
> slash before or removing quotes but other errors comes:
>
> http://192.168.3.3:8983/solr3.1/core0/select?q=myfield:(S.#L.W.VI.37)
>
> org.apache.lucene.queryParser.ParseException: Cannot parse 'myfield:(S.':
> Encountered "<EOF>" at line 1, column 15.
> Was expecting one of:
>    <AND> ...
>    <OR> ...
>    <NOT> ...
>    "+" ...
>    "-" ...
>    "(" ...
>    ")" ...
>    "*" ...
>    "^" ...
>    <QUOTED> ...
>    <TERM> ...
>    <FUZZY_SLOP> ...
>    <PREFIXTERM> ...
>    <WILDTERM> ...
>    "[" ...
>    "{" ...
>    <NUMBER> ...
>
>
> Any idea how to solve this?
> Maybe a bug? Or probably I'm missing something.
>
> Dario.
>