You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org> on 2008/06/22 13:47:46 UTC

[jira] Created: (SOLR-604) SpellCheckComponent builds the index in a path relative to CWD

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


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.


[jira] Work started: (SOLR-604) SpellCheckComponent builds the index in a path relative to CWD

Posted by "Grant Ingersoll (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SOLR-604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on SOLR-604 started by Grant Ingersoll.

> 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
>            Assignee: Grant Ingersoll
>            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.


[jira] Updated: (SOLR-604) SpellCheckComponent builds the index in a path relative to CWD

Posted by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SOLR-604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shalin Shekhar Mangar updated SOLR-604:
---------------------------------------

    Attachment: SOLR-604.patch

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.


[jira] Assigned: (SOLR-604) SpellCheckComponent builds the index in a path relative to CWD

Posted by "Grant Ingersoll (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SOLR-604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Grant Ingersoll reassigned SOLR-604:
------------------------------------

    Assignee: Grant Ingersoll

> 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
>            Assignee: Grant Ingersoll
>            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.


[jira] Issue Comment Edited: (SOLR-604) SpellCheckComponent builds the index in a path relative to CWD

Posted by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Resolved: (SOLR-604) SpellCheckComponent builds the index in a path relative to CWD

Posted by "Grant Ingersoll (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SOLR-604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Grant Ingersoll resolved SOLR-604.
----------------------------------

    Resolution: Fixed

Committed revision 670973.

> 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
>            Assignee: Grant Ingersoll
>            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.