Вопрос

Я пытаюсь настроить Websolr на моем Приложение Heroku. Анкет Я следую инструкции в документах Heroku. Анкет У меня есть первоначальная настройка, работающая нормально.

В развитие:

ruby-1.9.2-p0 > Note.search { keywords 'grit' }.results.length
 => 3

Я пытаюсь добавить Stemming. Я обновил соответствующую часть моего файла schema.xml для этого:

<fieldType name="text" class="solr.TextField" omitNorms="false">

  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>

</fieldType>

Затем я переоделся:

$ rake sunspot:reindex

Но это, похоже, вообще не работает:

ruby-1.9.2-p0 > Note.search { keywords 'gri' }.results.length
 => 0

Что я делаю не так?

Это было полезно?

Решение

У меня есть две идеи для вас здесь:

Во -первых, вы не упомянули, перезагружаете ли вы Solr после изменения своего schema.xml. Анкет Итак: вы перезагружаете Solr, чтобы ваши изменения вступили в силу? :)

Далее мне интересно, если термин grit даже будет иметь право иметь свой t удалено под алгоритмом обозначения носильщика. Вам нужно будет тщательно прочитать о Алгоритм Porterstemmer быть уверенным. Но вы также можете попробовать более очевидные примеры (скажем, writing к write).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top