Как искать китайские иероглифы с помощью Solr? - PullRequest
0 голосов
/ 09 ноября 2018

В основном я работаю над Drupal и использую Solr в качестве поисковой системы. Он ищет некоторые из упрощенных китайских слов / символов, а некоторые не такие, как показано ниже

美国: 为 美 朝 峰会 同 朝鲜 进行 的 磋商 取得 进展

Это не поиск простого персонажа.

Итак, я прошел оба

https://lucene.apache.org/solr/guide/7_4/language-analysis.html http://www.opencms -wiki.org / вики / Solr _-_ configuration_for_Chinese_and_correct_results_for_german_umlauts

& в конфигурационном файле solr у меня ниже

<fieldType name="text_chinese" class="solr.TextField">
  <analyzer class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>
  <analyzer>
      <tokenizer class="solr.HMMChineseTokenizerFactory"/>
      <filter class="solr.CJKWidthFilterFactory"/>
      <filter class="solr.StopFilterFactory"
              words="org/apache/lucene/analysis/cn/smart/stopwords.txt"/>
      <filter class="solr.PorterStemFilterFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
 </analyzer>
</fieldType>

Это дает

Местное время: org.apache.solr.common.SolrException: org.apache.solr.common.SolrException: Не удалось загрузить conf для ядра local: Ошибка инициализации плагина для [schema.xml] fieldType "text_chinese": не удается загрузить анализатор: org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer. Файл схемы is /var/solr/cores/local/conf/schema.xml

все же это не дает результата.

Не уверен, если что-то упущено в конфигурации.

1 Ответ

0 голосов
/ 09 ноября 2018

Сообщение об ошибке говорит о том, что Solr не может найти класс реализации анализатора, который вы определили - Cannot load analyzer: org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer.

Анализатор SmartCN не загружается по умолчанию, но он включен в двоичную сборку в contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-<version number>.jar.

Добавить каталог в список каталогов, в которые Solr может загружать библиотеки из в solrconfig.xml:

<lib dir="../../../contrib/analysis-extras/lucene-libs" regex=".*smartcn.*\.jar" />
...