solr搜索不到中文分词的结果
使用的hanlp分词,索引和搜索的时候都将enableIndexMode参数设为true了,分词结果如下:
全词匹配搜“中医”是可以搜出来的
全词匹配搜“中医药”就搜索不出结果
但是在term info中是可以看到这个词的
希望有大神解答此问题,在此非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
引用来自“hankcs”的评论
感谢大家的反馈,有其他问题也欢迎到HanLP项目主页:https://github.com/hankcs/HanLP 提问。GitHub是社区最活跃的地方,有大量资料和文档。
目前此问题已解决,hanlp作者已针对问题进行修正。具体详情请查看https://github.com/hankcs/HanLP/issues/496。在此向hanlp作者表示直径和感谢!
感谢大家的反馈,有其他问题也欢迎到HanLP项目主页:https://github.com/hankcs/HanLP 提问。GitHub是社区最活跃的地方,有大量资料和文档。
引用来自“nrud”的评论
你的solr配置可能不全面,solr允许为不同的字段指定不同的分词器。
只指定了text字段启用HanLP分词。
如果你的业务系统中有其他字段,比如title,content之类,也需要一一指定type="text_cn"。切记,否则这些字段仍旧是solr默认分词器,而不是HanLP,会造成这些字段“搜索不到”。
当然,你也可以直接将text_general这个fieldType设为HanLP分词:
由于绝大部分字段都是text_general类型的,所以说这种做法比较适合新手。
最终效果:
可能是title与text分词不一致导致的,默认情况title使用text_general
我遇到了类似的情况。
我有个数据是“服务大众”。直接搜索“服务”有结果,没问题。
搜索“title:服务”就搜索不出来。要搜索“text:服务”才有结果。或者搜索“title:服”会有结果。