Как заставить программу проверки правописания Solr игнорировать регистр?

Как вы просите пример проверки орфографии игнорировать регистр? Я использую все значения по умолчанию, показанные в демо.
Теперь я вижу, что если я наберу " Древний", он спросит: "Ты имел ввиду древний?" Что мне делать?

PS: у меня нет ничего, что имеет слово "заклинание" в моем schema.xml!!!! Как это работает?

2 ответа

Решение

Схема должна иметь тип поля с именем "spell", который используется для проверки орфографии. Это строчные буквы всех слов, используемых проверки орфографии, так что вам не нужно беспокоиться о регистре. Вот пример того, как использовать этот тип поля.

Создайте поле в вашей схеме для проверки орфографии.

<field name="spelling" type="spell" indexed="true" stored="false"/>

А затем используйте поле копирования, чтобы скопировать данные в это поле. В приведенном ниже коде поле "product_name" будет скопировано в программу проверки орфографии.

<copyField source="product_name" dest="spelling"/>

Редактировать...

Извините... Я думал, что тип поля "spell" был в схеме по умолчанию. Добавьте это к своей схеме в том же разделе, что и другие теги fieldType.

<fieldType name="spell" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" 
        words="stopwords.txt"/>
    <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" 
        ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" 
        words="stopwords.txt"/>
    <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
</fieldType>

Пожалуйста, отправьте свой solrconfig.xml - я думаю, что это даст ключ.

Моим лучшим предположением будет то, что solrconfig.xml содержит конфигурацию для проверки орфографии ( ссылка), которая указывает поле, которое будет использоваться для создания предложений по написанию. В этом поле нет файла LowerCaseFilter в вашем schema.xml

Другие вопросы по тегам