[ 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.