[ 
https://issues.apache.org/jira/browse/SOLR-604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607086#action_12607086
 ] 

shalinmangar edited comment on SOLR-604 at 6/22/08 5:09 AM:
---------------------------------------------------------------------

The bug lies in AbstractLuceneSpellChecker#initIndex method which uses 
FSDirectory.getDirectory directly on the spellcheckIndexDir specified in the 
solrconfig.xml

This patch adds a method SolrResourceLoader#getDataDir() which returns 
SolrCore.getDataDir(). The SolrResourceLoader keeps a reference to 
SolrCore.getDataDir() during inform phase before informing other core-aware 
classes. The AbstractLuceneSpellChecker class checks if the specified directory 
is non-null and is relative then it uses SolrResourceLoader#getDataDir() + 
File.separator + spellcheckIndexDir as the index directory for spellchecker. 
Also I've added a test in SpellCheckComponentTest for this.

The other way would have been to modify the SolrSpellChecker#init method to 
pass in a SolrCore instead of a SolrResourceLoader object but I did not want to 
change the public signature.

      was (Author: shalinmangar):
    The bug lies in AbstractLuceneSpellChecker#initIndex method which uses 
FSDirectory.getDirectory directly on the spellcheckIndexDir specified in the 
solrconfig.xml

This patch adds a method SolrResourceLoader#getDataDir() which returns 
SolrCore.getDataDir(). The SolrResourceLoader keeps a reference to 
SolrCore.getDataDir() during inform phase before informing other core-aware 
classes. The AbstractLuceneSpellChecker class checks if the specified directory 
is non-null and is relative then it uses SolrResourceLoader#getDataDir() + 
File.separator + spellcheckIndexDir as the index directory for spellchecker.

The other way would have been to modify the SolrSpellChecker#init method to 
pass in a SolrCore instead of a SolrResourceLoader object but I did not want to 
change the public signature.
  
> SpellCheckComponent builds the index in a path relative to CWD
> --------------------------------------------------------------
>
>                 Key: SOLR-604
>                 URL: https://issues.apache.org/jira/browse/SOLR-604
>             Project: Solr
>          Issue Type: Bug
>          Components: spellchecker
>    Affects Versions: 1.3
>            Reporter: Shalin Shekhar Mangar
>            Priority: Trivial
>             Fix For: 1.3
>
>         Attachments: SOLR-604.patch
>
>
> SpellCheckComponent builds the spell check index inside the current working 
> directory instead of inside the dataDir specified in solrconfig.xml
> It should use the same behavior as the SpellCheckerRequestHandler which is to 
> build the spellcheckIndexDir inside of dataDir.
> To reproduce this behavior use the following config:
> {code:xml}
>  <lst name="spellchecker">
>       <str 
> name="classname">org.apache.solr.spelling.FileBasedSpellChecker</str>
>       <str name="name">external</str>
>       <str name="sourceLocation">spellings.txt</str>
>       <str name="characterEncoding">UTF-8</str>
>       <str name="spellcheckIndexDir">spellchecker2</str>
>     </lst>
> {code}
> The index is created in the CWD/spellchecker2 whereas it should build it 
> inside ${solr.data.dir}/spellchecker2
> First reported at 
> http://www.nabble.com/SpellCheckComponent%3A-No-file-based-suggestions-%2B-Location-issue-p18048785.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to