如何用Solr搜索汉字?

时间:2018-11-09 06:31:23

标签: search drupal solr

基本上,我正在研究Drupal并使用Solr作为搜索引擎。它搜索一些简体中文单词/字符,还有一些不像下面的

美国:为美朝峰会同朝鲜进行的合并取得进展

它不是搜索简单的字符。

所以我都经历了

https://lucene.apache.org/solr/guide/7_4/language-analysis.html http://www.opencms-wiki.org/wiki/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:插件初始化失败   [schema.xml] fieldType“ text_chinese”:无法加载分析器:   org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer。模式文件   是/var/solr/cores/local/conf/schema.xml

仍然没有给出结果。

不确定配置中是否缺少某些内容。

1 个答案:

答案 0 :(得分:2)

错误消息告诉您Solr无法找到您已定义的分析器的实现类-Cannot load analyzer: org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer

默认未加载SmartCN分析器,但它包含在contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-<version number>.jar下的二进制版本中。

solrconfig.xml中的

Add the directory to the list of directories that Solr can load libraries from

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