Добавление языков в Solr

После установки Solr и настройки его экземпляров будет возможность произвести индексацию и BI-поиск по значениям на русском и английском языке. При необходимости список языков можно расширить. Для этого необходимо добавить новый экземпляр Solr и доработать конфигурационные файлы.

Чтобы добавить новый экземпляр Solr для нового языка выполните следующие действия:

  1. В папке «Conf» создайте копию конфигурационного файла sourceDataSchema_en.xml.

  2. Переименуйте скопированный файл, изменив постфикс языка. Например, для немецкого языка - sourceDataSchema_de.xml.

  3. Откройте в браузере страницу со списком анализаторов для языков, поддерживаемых Solr: http://wiki.apache.org/solr/LanguageAnalysis. Найдите конфигурацию для необходимого языка, например, для немецкого:

    <filter class="solr.SnowballPorterFilterFactory" language="German2" />
  4. Откройте скопированный файл sourceDataSchema_de.xml на редактирование и найдите строки:

    <filter class="solr.KStemFilterFactory"/>:
<...>
<fieldType name="name_searcher" class="solr.TextField">

<analyzer type="index">

<tokenizer class="solr.WhitespaceTokenizerFactory"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>

<filter class="solr.LowerCaseFilterFactory"/>

<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

<filter class="solr.KStemFilterFactory"/>

</analyzer>

<analyzer type="query">

<tokenizer class="solr.WhitespaceTokenizerFactory"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>

<filter class="solr.LowerCaseFilterFactory"/>

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>

<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

<filter class="solr.KStemFilterFactory"/>

</analyzer>

</fieldType>
<...>
  1. Замените все найденные строки на строки конфигурации необходимого языка:

<...>
<fieldType name="name_searcher" class="solr.TextField">

<analyzer type="index">

<tokenizer class="solr.WhitespaceTokenizerFactory"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>

<filter class="solr.LowerCaseFilterFactory"/>

<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

<filter class="solr.SnowballPorterFilterFactory" language="German2" />

</analyzer>

<analyzer type="query">

<tokenizer class="solr.WhitespaceTokenizerFactory"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>

<filter class="solr.LowerCaseFilterFactory"/>

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>

<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

<filter class="solr.SnowballPorterFilterFactory" language="German2" />

</analyzer>

</fieldType>
<...>
  1. Сохраните файл.

Конфигурационный файл для добавляемого языка готов. Чтобы создать экземпляр Solr для этого языка откройте на редактирования файл solr.xml из папки «solr-4.4.0\solr\app». Скопируйте строку, отвечающую за уже имеющийся экземпляр Solr, вставьте ее и скорректируйте для добавляемого языка, например:

<core schema="sourceDataSchema_de.xml" instanceDir="BISearch_SourceData\" name="SourceData_de1" config="sourceData_solrconfig.xml" dataDir="indexData/SourceData_de1"/>

В атрибуте schema укажите наименование созданного конфигурационного файла, в атрибуте name укажите наименование экземпляра Solr для добавляемого языка, а в атрибуте dataDir укажите папку, в которой будут храниться индексные файлы добавляемого языка. Список и назначение всех атрибутов указаны в пункте 5 подраздела «Настройка экземпляров Solr».

Перезагрузите Tomcat, если все выполнено верно, то веб-страница менеджера будет выглядеть примерно следующим образом:

Для использования добавленных языков также необходимо произвести настройку настольного приложения или BI-сервера.

См. также:

Установка и настройка программного обеспечения