首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么solr不对一些分词进行索引

为什么solr不对一些分词进行索引
EN

Stack Overflow用户
提问于 2012-09-23 12:18:59
回答 1查看 339关注 0票数 1

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

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

要建立索引的字段:

代码语言:javascript
运行
复制
 <field name="hospital_alias_splitted" type="cn_ik" indexed="true" stored="true" multiValued="true" omitNorms="false"/>

cn_ik定义:

代码语言:javascript
运行
复制
<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不会给我更多提示。我不确定这是一个bug还是Solr的一个特性。

有什么意见或建议吗?

谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2012-09-24 08:29:49

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

我建议你尝试一下不同的分析器。因为你没有告诉我们你的分析器,我假设你使用的是默认的东西,比如CJK等等。

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

不过,如果能看到您的模式中有关该字段的某些部分,那就太好了……

编辑:你也可以勾选this link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12549695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档