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