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 Mike Anderson <mi...@mit.edu> on 2009/08/14 20:35:47 UTC

ruby client and building spell check dictionary

I set up the spell check  component with this code in the config file:

> <searchComponent name="spellcheck" class="solr.SpellCheckComponent">

 <str name="queryAnalyzerFieldType">textSpell</str>

 <lst name="spellchecker">

  <str name="name">titleCheck</str>

  <str name="classname">solr.IndexBasedSpellChecker</str>

 <str name="field">dictionary</str>

 <str name="accuracy">0.7</str>

</lst>

</searchComponent>



which works great. I can build the dictionary from my browser
"q="foo"&spellcheck.build=true&spellcheck.name=titleCheck"

and I can also receive the spellcheck response when I make a query via the
ruby client.


What I'm trying to do now though is build the dictionary via the ruby
client. I added this code to "class Solr::Request::Standard <
Solr::Request::Select"

  if @params[:spellcheck]

    hash[:spellcheck] = true

    hash["spellcheck.q"] = @params[:spellcheck][:query]

    hash["spellcheck.build"] = @params[:spellcheck][:build]

  end



and attempt to make a query with  spellcheck.build=true (the
spellcheck.nameis set in the defaults of select). Unfortunately I am
receiving this
exception

Net::HTTPFatalError: 500
> "javaioFileNotFoundException__cfdx__javalangRuntimeException_javaioFileNotFoundException__cfdx__at_orgapachesolrspellingIndexBasedSpellCheckerbuildIndexBasedSpellCheckerjava92__at_orgapachesolrhandlercomponentSpellCheckComponentprepareSpellCheckComponentjava107__at_orgapachesolrhandlercomponentSearchHandlerhandleRequestBodySearchHandlerjava150__at_orgapachesolrhandlerRequestHandlerBasehandleRequestRequestHandlerBasejava131__at_orgapachesolrcoreSolrCoreexecuteSolrCorejava1333__at_orgapachesolrservletSolrDispatchFilterexecuteSolrDispatchFilterjava303__at_orgapachesolrservletSolrDispatchFilterdoFilterSolrDispatchFilterjava232__at_orgmortbayjettyservletServletHandler$CachedChaindoFilterServletHandlerjava1089__at_orgmortbayjettyservletServletHandlerhandleServletHandlerjava365__at_orgmortbayjettysecuritySecurityHandlerhandleSecurityHandlerjava216__at_orgmortbayjettyservletSessionHandlerhandleSessionHandlerjava181__at_orgmortbayjettyhandlerContextHandlerhandleContextHandlerjava712__at_orgmortbayjettywebappWebAppContexthandleWebAppContextjava405__at_orgmortbayjettyhandlerContextHandlerCollectionhandleContextHandlerCollectionjava211__at_orgmortbayjettyhandlerHandlerCollectionhandleHandlerCollectionjava114__at_orgmortbayjettyhandlerHandlerWrapperhandleHandlerWrapperjava139__at_orgmortbayjettyServerhandleServerjava285__at_orgmortbayjettyHttpConnectionhandleRequestHttpConnectionjava502__at_orgmortbayjettyHttpConnection$RequestHandlercontentHttpConnectionjava835__at_orgmortbayjettyHttpParserparseNextHttpParserjava641__at_orgmortbayjettyHttpParserparseAvailableHttpParserjava208__at_orgmortbayjettyHttpConnectionhandleHttpConnectionjava378__at_orgmortbayjettybioSocketConnector$ConnectionrunSocketConnectorjava226__at_orgmortbaythreadBoundedThreadPool$PoolThreadrunBoundedThreadPooljava442_Caused_by_javaioFileNo"

from /usr/lib/ruby/1.8/net/http.rb:2097:in `error!'

from /var/lib/gems/1.8/gems/solr-ruby-0.0.7/lib/solr/connection.rb:165:in
> `post'

from /var/lib/gems/1.8/gems/solr-ruby-0.0.7/lib/solr/connection.rb:151:in
> `send'

from /var/lib/gems/1.8/gems/solr-ruby-0.0.7/lib/solr/connection.rb:174:in
> `create_and_send_query'

from /var/lib/gems/1.8/gems/solr-ruby-0.0.7/lib/solr/connection.rb:92:in
> `query'

from /home/mike/code/pubget.rails/app/models/article.rb:695:in `solr_search'

from /home/mike/code/pubget.rails/app/models/article.rb:635:in
> `solr_build_dictionary


>
Any help in understanding the exception would be greatly appreciated.

-Mike