1

我正在尝试用 Solr 索引一些中文文档,但看起来 Solr 没有索引一些分段词。

我使用的分析器是 IK 分析器http://code.google.com/p/ik-analyzer/

要索引的字段:

 <field name="hospital_alias_splitted" type="cn_ik" indexed="true" stored="true" multiValued="true" omitNorms="false"/>

cn_ik 定义:

<fieldType name="cn_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer> 
    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart ="false"/>
</analyzer>

例如,将被索引的单词是“AB”(不带引号)。使用中文分析器进行分词后,我得到了 3 个标记,它们是“AB”、“A”和“B”。

如我们所见,第一个标记“AB”涵盖了以下两个标记。

在将这些令牌提供给 Solr 之后,看起来 Solr 仅索引“AB”、“A”和“B”被忽略了。因为当我搜索“A”或搜索“B”时没有得到任何结果。

我猜当 Solr 索引“AB”时,它已经到达索引词的末尾,所以“A”和“B”被忽略了。

使用 Luke 和 Analysis Request Handler 不会向我显示更多提示。我不确定这是 Solr 的错误还是功能。

有什么意见或建议吗?

谢谢 :)

4

1 回答 1

0

(因为我无法对这个问题发表评论,所以我在这里输入)

我建议您尝试使用不同的分析仪。由于您没有告诉我们您的分析仪,我假设您使用的是默认值,例如 CJK 等。

据我所知,中文和中文等语言的分析器更多,两个词之间没有空格。他们也可能会帮助你。

不过,很高兴看到有关该字段的架构的某些部分...

编辑:您也可以查看此链接

于 2012-09-24T00:29:48.930 回答