8

I added the search component and the request handler in the solrconfig.xml file, but I get an error saying

"No suggester named default was configured" when I type ../../suggest?suggest.q=A&wt=json&suggest.build=true&indent=true&debugQuery=true in the browser

Bartłomiej Semańczyk
  • 59,234
  • 49
  • 233
  • 358
Anusha
  • 647
  • 11
  • 29
  • Okay I got the fix, The name of the /suggest module in the handler was different from what I had given in the search component tag :) – Anusha Feb 03 '16 at 11:34

1 Answers1

15

Suppose your search component is:

<searchComponent name="suggest" class="solr.SuggestComponent">
 <lst name="suggester">
   <str name="name">mySuggester</str>
             ...
 </lst>

First way:

You must add "dictionary" parameter to your request handler default parameters as follows:

<requestHandler name="/suggest" class="solr.SearchHandler">
 <lst name="defaults">
   <str name="suggest.dictionary">mySuggester</str>
   <str name="suggest">true</str>
   <str name="suggest.count">10</str>
 </lst>
 <arr name="components">
   <str>suggest</str>
 </arr>
</requestHandler>

Second way:

If you haven't specified "dictionary" parameter in your request handler default parameters, you must add it to URL.

For example:

<requestHandler name="/suggest" class="solr.SearchHandler">
 <lst name="defaults">
   <str name="suggest">true</str>
   <str name="suggest.count">10</str>
 </lst>
 <arr name="components">
   <str>suggest</str>
 </arr>
</requestHandler>

Then you can use following url:

../../suggest?suggest.dictionary=mySuggester&q=A&wt=json&suggest.build=true&indent=true&debugQuery=true
Abolfazl Hashemi
  • 684
  • 7
  • 21