*Hi solr users

I'm using solr 4.2.1 and I have some questions about soft commit and spellcheckers. I see dictionary rebuild going on after softcommit, for my application it is acceptable to rebuild the index once a day, so I tried to switch buildOnCommit parameter to false in SpellCheckComponent configuration. ***After pushing configuration to zookeeper *I had to restart solr to stop seeing spellcheck rebuild after document updates. Is this correct? Should I always restart/reload cores after
configuration change?

***Now what should I do to rebuild the dictionary?

wget -O - "http://$HOST:8080/solr/$CORE/spell?spellcheck.build=true";

after sending this request I see this log line "webapp=/solr path=/spell params={spellcheck.build=true} hits=0 status=0 QTime=24316" only on one node.
Should I send the request to all solr servers individually?

Last but not least, is this the correct way to send a softcommit update?
**
***wget -O - --header='Content-type: text/xml' --post-data='<add><doc><field name="sku">16910</field><field name="namesearch" update="set">test test test</field></doc></add>' 'myhost:8080/solr/mycore/update?softCommit=true'*
*
because in logs I see the commit=true parameter appearing. How can I be sure that the change has been only soft-commited?

INFO: [mycore] webapp=/solr path=/update params={waitSearcher=true&commit=true&wt=javabin&expungeDeletes=false&commit_end_point=true&version=2&softCommit=true} {commit=} 0 69

This is my spellchecker configuration

<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
    <lst name="spellchecker">
      <str name="name">default</str>
      <str name="classname">solr.IndexBasedSpellChecker</str>
      <str name="field">spell</str>
      <str name="spellcheckIndexDir">./index/spellchecker1</str>
      <str name="accuracy">0.5</str>
      <str name="buildOnCommit">true</str>
      <str name="comparatorClass">score</str>
    </lst>
</searchComponent>

 <requestHandler name="/spell" class="solr.SearchHandler">
  <lst name="defaults">
      <str name="spellcheck.dictionary">default</str>
      <str name="spellcheck">true</str>
      <str name="spellcheck.extendedResults">true</str>
      <str name="spellcheck.count">10</str>
      <str name="spellcheck.collate">true</str>
      <str name="rows">10</str>
  </lst>
  <arr name="last-components">
    <str>spellcheck</str>
  </arr>
 </requestHandler>

and this is my update configuration

<updateHandler class="solr.DirectUpdateHandler2">
    <updateLog>
      <str name="dir">${solr.data.dir:}</str>
    </updateLog>
  </updateHandler>
<requestHandler name="/update" class="solr.UpdateRequestHandler" />


Thank you

*

Reply via email to