请教一个Solr+IKAnalyzer的搜索问题
使用solr+IKAnalyzer搭建的全文搜索平台,测试中发现一个问题如下:
1 将“北京建立孔子学院”进行索引
2 搜索“北京建立”或“建立孔子学院”等连在一起的词组可以得到相应结果
3
搜索“建立学院”,搜索结果为0;
4 搜索“
建立 学院”中间加了空格,可以搜索到相应结果。
按理说“建立学院”字段进行搜索时会划分为“建立”和“学院”两个字段,可是为什么没有相应的结果呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
你这个词是不是最后又加到词库里面了?索引的时候用的是最多分词,查询用的是最大分词,如果你索引完后把长的那个词加到词库里面的话,搜的时候用的就是那个长的词,但是索引时候并没有把那个词还不存在,就都不到?是不是这个原因。
恩,我看他们的官方文档是说
<fieldType name="text" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<!-------------------------------------------------------------------------------------------->
<fieldType name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/>
</analyzer>
</fieldType>
<!-------------------------------------------------------------------------------------------->
这两种都可以,所以应该是在这里就已经配置了搜索的分词器了吧
solr 我倒是没用过,我只是对lucene和分词处理有点经验而已
引用来自#6楼“红薯”的帖子
引用来自#5楼“aimuke”的帖子
感谢红薯大大耐心指导
但是在索引的配置中的却是有两个配置啊,分别配索引和搜索的
如果配置中的搜索分词没有用的话搜索“建立孔子”应该也没有记过才对啊,因为建立孔子在索引中应该不存在这样的一个词条
引用来自#5楼“aimuke”的帖子
感谢红薯大大耐心指导
但是在索引的配置中的却是有两个配置啊,分别配索引和搜索的
如果配置中的搜索分词没有用的话搜索“建立孔子”应该也没有记过才对啊,因为建立孔子在索引中应该不存在这样的一个词条
感谢红薯大大耐心指导
但是在索引的配置中的却是有两个配置啊,分别配索引和搜索的
如果配置中的搜索分词没有用的话搜索“建立孔子”应该也没有记过才对啊,因为建立孔子在索引中应该不存在这样的一个词条
那只是建立索引的时候对内容进行分词,这个是必须的。
但是检索的时候是另外一回事,需要再对关键字进行分词,组合成搜索条件进行检索。
例如“建立学院”,你可以用 IKAnalyzer 分词后变成 "建立" 和 "学院",然后再把这两个词用空格拼起来再去检索
引用来自#2楼“红薯”的帖子
谁说的,你自己要对搜索的关键字进行分词处理。
谁说的,你自己要对搜索的关键字进行分词处理。