2016-07-21 4 views
0

Я столкнулся с этой проблемой: Solr: Solr может проверять орфографию и давать предложения на основе файлов в базе данных. Тем не менее, я хочу добавить английский словарь, поэтому даже если слово не существует в базе данных, Solr может давать предложения на основе английского словаря.Загрузить словарь в Solr для проверки орфографии

Я знаю, что я должен сделать это с помощью FileBasedSpellChecker в solrconfig.xml:

<searchComponent name=”spellcheck” class=”solr.SpellCheckComponent”> 
     <lst name=”spellchecker”> 
      <str name=”classname”>solr.FileBasedSpellChecker</str> 
      <str name=”name”>file</str> 
      <str name=”sourceLocation”>spellings.txt</str> 
      <str name=”characterEncoding”>UTF-8</str> 
      <str name=”spellcheckIndexDir”>./spellcheckerFile</str> 
     </lst> 
    </searchComponent> 

Но я не знаю, как я могу загрузить spellings.txt в Solr. Я получаю эту ошибку:

{ 
    "responseHeader":{ 
    "status":404, 
    "QTime":1}, 
    "response":{"numFound":0,"start":0,"docs":[] 
    }, 
    "error":{ 
    "metadata":[ 
     "error-class","org.apache.solr.common.SolrException", 
     "root-error-class","org.apache.solr.common.SolrException"], 
    "msg":"Specified dictionaries do not exist: file", 
    "code":404}} 

Любая помощь была бы принята с благодарностью. Благодарю.

ответ

0

Простым способом является размещение spellings.txt в той же папке, где находится solrconfig.xml. Если я правильно понял вопрос.

+0

Да, это то, что я догадался. Но проблема в том, что я использую Lucidworks Fusion, который строится поверх Solr и других вещей. Fusion не обнаруживает, где solrconfig находится в своих каталогах. Я обращаюсь к нему в интерфейсе Fusion. –