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 Luis Cappa Banda <lu...@gmail.com> on 2013/10/23 19:20:09 UTC
Spellcheck with Distributed Search (sharding).
Hello!
I'be been trying to enable Spellchecking using sharding following the steps
from the Wiki, but I failed, :-( What I do is:
*Solrconfig.xml*
<*searchComponent name="suggest"* class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
<str name="field">suggestion</str>
<str name="buildOnOptimize">true</str>
</lst>
</searchComponent>
<*requestHandler name="/suggest"* class="solr.SearchHandler">
<lst name="defaults">
<str name="df">suggestion</str>
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.count">10</str>
</lst>
<arr name="last-components">
<str>suggest</str>
</arr>
</requestHandler>
*Note:* I have two shards (solr1 and solr2) and both have the same
solrconfig.xml. Also, bot indexes were optimized to create the spellchecker
indexes.
*Query*
solr1:8080/events/data/select?q=m&qt=/suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
*
*
*Response*
*
*
{
- responseHeader:
{
- status: 404,
- QTime: 12,
- params:
{
- shards: "solr1:8080/events/data,solr2:8080/events/data",
- shards.qt: "/suggestion",
- q: "m",
- wt: "json",
- qt: "/suggestion"
}
},
- error:
{
- msg: "Server at http://solr1:8080/events/data returned non ok
status:404, message:Not Found",
- code: 404
}
}
More query syntaxes that I used and that doesn't work:
http://solr1:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
http://solr1:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
Any idea of what I'm doing wrong?
Thank you very much in advance!
Best regards,
--
- Luis Cappa
Re: Spellcheck with Distributed Search (sharding).
Posted by Luis Cappa Banda <lu...@gmail.com>.
I'ts just a type error, sorry about that! The Request Handler is OK spelled
and it doesn't work.
2013/10/24 Dyer, James <Ja...@ingramcontent.com>
> Is it that your request handler is named "/suggest" but you are setting
> "shards.qt" to "/suggestion" ?
>
> James Dyer
> Ingram Content Group
> (615) 213-4311
>
>
> -----Original Message-----
> From: Luis Cappa Banda [mailto:luiscappa@gmail.com]
> Sent: Thursday, October 24, 2013 6:22 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Spellcheck with Distributed Search (sharding).
>
> Any idea?
>
>
> 2013/10/23 Luis Cappa Banda <lu...@gmail.com>
>
> > More info:
> >
> > When executing the Query to a single Solr server it works:
> > http://solr1:8080/events/data/suggest?q=m&wt=json<
> http://solrclusterd.buguroo.dev:8080/events/data/suggest?q=m&wt=json>
> >
> > {
> >
> > - responseHeader:
> > {
> > - status: 0,
> > - QTime: 1
> > },
> > - response:
> > {
> > - numFound: 0,
> > - start: 0,
> > - docs: [ ]
> > },
> > - spellcheck:
> > {
> > - suggestions:
> > [
> > - "m",
> > -
> > {
> > - numFound: 4,
> > - startOffset: 0,
> > - endOffset: 1,
> > - suggestion:
> > [
> > - "marca",
> > - "marcacom",
> > - "mis",
> > - "mispelotas"
> > ]
> > }
> > ]
> > }
> >
> > }
> >
> >
> > But when choosing the Request handler this way it doesn't:
> > http://solr1:8080/events/data/select?*qt=/sugges*t&wt=json&q=*:*<
> http://solrclusterd.buguroo.dev:8080/events/data/select?qt=/suggest&wt=json&q=*:*
> >
> >
> >
> >
> >
> > 2013/10/23 Luis Cappa Banda <lu...@gmail.com>
> >
> >> Hello!
> >>
> >> I'be been trying to enable Spellchecking using sharding following the
> >> steps from the Wiki, but I failed, :-( What I do is:
> >>
> >> *Solrconfig.xml*
> >>
> >>
> >> <*searchComponent name="suggest"* class="solr.SpellCheckComponent">
> >> <lst name="spellchecker">
> >> <str name="name">suggest</str>
> >> <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
> >> <str
> >> name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
> >> <str name="field">suggestion</str>
> >> <str name="buildOnOptimize">true</str>
> >> </lst>
> >> </searchComponent>
> >>
> >>
> >> <*requestHandler name="/suggest"* class="solr.SearchHandler">
> >> <lst name="defaults">
> >> <str name="df">suggestion</str>
> >> <str name="spellcheck">true</str>
> >> <str name="spellcheck.dictionary">suggest</str>
> >> <str name="spellcheck.count">10</str>
> >> </lst>
> >> <arr name="last-components">
> >> <str>suggest</str>
> >> </arr>
> >> </requestHandler>
> >>
> >>
> >> *Note:* I have two shards (solr1 and solr2) and both have the same
> >> solrconfig.xml. Also, bot indexes were optimized to create the
> spellchecker
> >> indexes.
> >>
> >> *Query*
> >>
> >>
> >>
> solr1:8080/events/data/select?q=m&qt=/suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
> >>
> >> *
> >> *
> >> *Response*
> >> *
> >> *
> >> {
> >>
> >> - responseHeader:
> >> {
> >> - status: 404,
> >> - QTime: 12,
> >> - params:
> >> {
> >> - shards: "solr1:8080/events/data,solr2:8080/events/data",
> >> - shards.qt: "/suggestion",
> >> - q: "m",
> >> - wt: "json",
> >> - qt: "/suggestion"
> >> }
> >> },
> >> - error:
> >> {
> >> - msg: "Server at http://solr1:8080/events/data returned non ok
> >> status:404, message:Not Found",
> >> - code: 404
> >> }
> >>
> >> }
> >>
> >> More query syntaxes that I used and that doesn't work:
> >>
> >>
> >>
> http://solr1:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
> <
> http://solrclusterd.buguroo.dev:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data
> >
> >>
> >>
> >>
> http://solr1:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
> <
> http://solrclusterd.buguroo.dev:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data
> >
> >>
> >>
> >> Any idea of what I'm doing wrong?
> >>
> >> Thank you very much in advance!
> >>
> >> Best regards,
> >>
> >> --
> >> - Luis Cappa
> >>
> >
> >
> >
> > --
> > - Luis Cappa
> >
>
>
>
> --
> - Luis Cappa
>
>
--
- Luis Cappa
RE: Spellcheck with Distributed Search (sharding).
Posted by "Dyer, James" <Ja...@ingramcontent.com>.
Is it that your request handler is named "/suggest" but you are setting "shards.qt" to "/suggestion" ?
James Dyer
Ingram Content Group
(615) 213-4311
-----Original Message-----
From: Luis Cappa Banda [mailto:luiscappa@gmail.com]
Sent: Thursday, October 24, 2013 6:22 AM
To: solr-user@lucene.apache.org
Subject: Re: Spellcheck with Distributed Search (sharding).
Any idea?
2013/10/23 Luis Cappa Banda <lu...@gmail.com>
> More info:
>
> When executing the Query to a single Solr server it works:
> http://solr1:8080/events/data/suggest?q=m&wt=json<http://solrclusterd.buguroo.dev:8080/events/data/suggest?q=m&wt=json>
>
> {
>
> - responseHeader:
> {
> - status: 0,
> - QTime: 1
> },
> - response:
> {
> - numFound: 0,
> - start: 0,
> - docs: [ ]
> },
> - spellcheck:
> {
> - suggestions:
> [
> - "m",
> -
> {
> - numFound: 4,
> - startOffset: 0,
> - endOffset: 1,
> - suggestion:
> [
> - "marca",
> - "marcacom",
> - "mis",
> - "mispelotas"
> ]
> }
> ]
> }
>
> }
>
>
> But when choosing the Request handler this way it doesn't:
> http://solr1:8080/events/data/select?*qt=/sugges*t&wt=json&q=*:*<http://solrclusterd.buguroo.dev:8080/events/data/select?qt=/suggest&wt=json&q=*:*>
>
>
>
>
> 2013/10/23 Luis Cappa Banda <lu...@gmail.com>
>
>> Hello!
>>
>> I'be been trying to enable Spellchecking using sharding following the
>> steps from the Wiki, but I failed, :-( What I do is:
>>
>> *Solrconfig.xml*
>>
>>
>> <*searchComponent name="suggest"* class="solr.SpellCheckComponent">
>> <lst name="spellchecker">
>> <str name="name">suggest</str>
>> <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
>> <str
>> name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
>> <str name="field">suggestion</str>
>> <str name="buildOnOptimize">true</str>
>> </lst>
>> </searchComponent>
>>
>>
>> <*requestHandler name="/suggest"* class="solr.SearchHandler">
>> <lst name="defaults">
>> <str name="df">suggestion</str>
>> <str name="spellcheck">true</str>
>> <str name="spellcheck.dictionary">suggest</str>
>> <str name="spellcheck.count">10</str>
>> </lst>
>> <arr name="last-components">
>> <str>suggest</str>
>> </arr>
>> </requestHandler>
>>
>>
>> *Note:* I have two shards (solr1 and solr2) and both have the same
>> solrconfig.xml. Also, bot indexes were optimized to create the spellchecker
>> indexes.
>>
>> *Query*
>>
>>
>> solr1:8080/events/data/select?q=m&qt=/suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
>>
>> *
>> *
>> *Response*
>> *
>> *
>> {
>>
>> - responseHeader:
>> {
>> - status: 404,
>> - QTime: 12,
>> - params:
>> {
>> - shards: "solr1:8080/events/data,solr2:8080/events/data",
>> - shards.qt: "/suggestion",
>> - q: "m",
>> - wt: "json",
>> - qt: "/suggestion"
>> }
>> },
>> - error:
>> {
>> - msg: "Server at http://solr1:8080/events/data returned non ok
>> status:404, message:Not Found",
>> - code: 404
>> }
>>
>> }
>>
>> More query syntaxes that I used and that doesn't work:
>>
>>
>> http://solr1:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
>>
>>
>> http://solr1:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
>>
>>
>> Any idea of what I'm doing wrong?
>>
>> Thank you very much in advance!
>>
>> Best regards,
>>
>> --
>> - Luis Cappa
>>
>
>
>
> --
> - Luis Cappa
>
--
- Luis Cappa
Re: Spellcheck with Distributed Search (sharding).
Posted by Luis Cappa Banda <lu...@gmail.com>.
Any idea?
2013/10/23 Luis Cappa Banda <lu...@gmail.com>
> More info:
>
> When executing the Query to a single Solr server it works:
> http://solr1:8080/events/data/suggest?q=m&wt=json<http://solrclusterd.buguroo.dev:8080/events/data/suggest?q=m&wt=json>
>
> {
>
> - responseHeader:
> {
> - status: 0,
> - QTime: 1
> },
> - response:
> {
> - numFound: 0,
> - start: 0,
> - docs: [ ]
> },
> - spellcheck:
> {
> - suggestions:
> [
> - "m",
> -
> {
> - numFound: 4,
> - startOffset: 0,
> - endOffset: 1,
> - suggestion:
> [
> - "marca",
> - "marcacom",
> - "mis",
> - "mispelotas"
> ]
> }
> ]
> }
>
> }
>
>
> But when choosing the Request handler this way it doesn't:
> http://solr1:8080/events/data/select?*qt=/sugges*t&wt=json&q=*:*<http://solrclusterd.buguroo.dev:8080/events/data/select?qt=/suggest&wt=json&q=*:*>
>
>
>
>
> 2013/10/23 Luis Cappa Banda <lu...@gmail.com>
>
>> Hello!
>>
>> I'be been trying to enable Spellchecking using sharding following the
>> steps from the Wiki, but I failed, :-( What I do is:
>>
>> *Solrconfig.xml*
>>
>>
>> <*searchComponent name="suggest"* class="solr.SpellCheckComponent">
>> <lst name="spellchecker">
>> <str name="name">suggest</str>
>> <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
>> <str
>> name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
>> <str name="field">suggestion</str>
>> <str name="buildOnOptimize">true</str>
>> </lst>
>> </searchComponent>
>>
>>
>> <*requestHandler name="/suggest"* class="solr.SearchHandler">
>> <lst name="defaults">
>> <str name="df">suggestion</str>
>> <str name="spellcheck">true</str>
>> <str name="spellcheck.dictionary">suggest</str>
>> <str name="spellcheck.count">10</str>
>> </lst>
>> <arr name="last-components">
>> <str>suggest</str>
>> </arr>
>> </requestHandler>
>>
>>
>> *Note:* I have two shards (solr1 and solr2) and both have the same
>> solrconfig.xml. Also, bot indexes were optimized to create the spellchecker
>> indexes.
>>
>> *Query*
>>
>>
>> solr1:8080/events/data/select?q=m&qt=/suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
>>
>> *
>> *
>> *Response*
>> *
>> *
>> {
>>
>> - responseHeader:
>> {
>> - status: 404,
>> - QTime: 12,
>> - params:
>> {
>> - shards: "solr1:8080/events/data,solr2:8080/events/data",
>> - shards.qt: "/suggestion",
>> - q: "m",
>> - wt: "json",
>> - qt: "/suggestion"
>> }
>> },
>> - error:
>> {
>> - msg: "Server at http://solr1:8080/events/data returned non ok
>> status:404, message:Not Found",
>> - code: 404
>> }
>>
>> }
>>
>> More query syntaxes that I used and that doesn't work:
>>
>>
>> http://solr1:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
>>
>>
>> http://solr1:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
>>
>>
>> Any idea of what I'm doing wrong?
>>
>> Thank you very much in advance!
>>
>> Best regards,
>>
>> --
>> - Luis Cappa
>>
>
>
>
> --
> - Luis Cappa
>
--
- Luis Cappa
Re: Spellcheck with Distributed Search (sharding).
Posted by Luis Cappa Banda <lu...@gmail.com>.
More info:
When executing the Query to a single Solr server it works:
http://solr1:8080/events/data/suggest?q=m&wt=json<http://solrclusterd.buguroo.dev:8080/events/data/suggest?q=m&wt=json>
{
- responseHeader:
{
- status: 0,
- QTime: 1
},
- response:
{
- numFound: 0,
- start: 0,
- docs: [ ]
},
- spellcheck:
{
- suggestions:
[
- "m",
-
{
- numFound: 4,
- startOffset: 0,
- endOffset: 1,
- suggestion:
[
- "marca",
- "marcacom",
- "mis",
- "mispelotas"
]
}
]
}
}
But when choosing the Request handler this way it doesn't:
http://solr1:8080/events/data/select?*qt=/sugges*t&wt=json&q=*:*<http://solrclusterd.buguroo.dev:8080/events/data/select?qt=/suggest&wt=json&q=*:*>
2013/10/23 Luis Cappa Banda <lu...@gmail.com>
> Hello!
>
> I'be been trying to enable Spellchecking using sharding following the
> steps from the Wiki, but I failed, :-( What I do is:
>
> *Solrconfig.xml*
>
>
> <*searchComponent name="suggest"* class="solr.SpellCheckComponent">
> <lst name="spellchecker">
> <str name="name">suggest</str>
> <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
> <str
> name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
> <str name="field">suggestion</str>
> <str name="buildOnOptimize">true</str>
> </lst>
> </searchComponent>
>
>
> <*requestHandler name="/suggest"* class="solr.SearchHandler">
> <lst name="defaults">
> <str name="df">suggestion</str>
> <str name="spellcheck">true</str>
> <str name="spellcheck.dictionary">suggest</str>
> <str name="spellcheck.count">10</str>
> </lst>
> <arr name="last-components">
> <str>suggest</str>
> </arr>
> </requestHandler>
>
>
> *Note:* I have two shards (solr1 and solr2) and both have the same
> solrconfig.xml. Also, bot indexes were optimized to create the spellchecker
> indexes.
>
> *Query*
>
>
> solr1:8080/events/data/select?q=m&qt=/suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data
>
> *
> *
> *Response*
> *
> *
> {
>
> - responseHeader:
> {
> - status: 404,
> - QTime: 12,
> - params:
> {
> - shards: "solr1:8080/events/data,solr2:8080/events/data",
> - shards.qt: "/suggestion",
> - q: "m",
> - wt: "json",
> - qt: "/suggestion"
> }
> },
> - error:
> {
> - msg: "Server at http://solr1:8080/events/data returned non ok
> status:404, message:Not Found",
> - code: 404
> }
>
> }
>
> More query syntaxes that I used and that doesn't work:
>
>
> http://solr1:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
>
>
> http://solr1:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solr1:8080/events/data,solr2:8080/events/data<http://solrclusterd.buguroo.dev:8080/events/data/select?q=*:*&spellcheck.q=m&qt=suggestion&shards.qt=/suggestion&wt=json&shards=solrclusterd.buguroo.dev:8080/events/data,solrclusterc.buguroo.dev:8080/events/data>
>
>
> Any idea of what I'm doing wrong?
>
> Thank you very much in advance!
>
> Best regards,
>
> --
> - Luis Cappa
>
--
- Luis Cappa