lucene搜索分词问题

时间:2022-10-12 03:11:09
    我在项目的分词器采用的是qieqie的庖丁解牛分词器,现在出现的问题是当搜“运动”的时候可以把包含“运动”的记录搜出来,但是如果只搜索“运”则却找不到含有“运动”的记录。请问这个问题怎么解决?
    我也知道这是分词的原因,当在词典里找到“运动”就不会再分词为“运”和“动”,那搜索的时候如果只搜索一个字就根本不会搜索出来,但是对客户而言他们是无法理解的,我也无法对他们这样去解释搜索不到的理由。对他们而言要看的就是结果,就是能搜索出来。
    

8 个解决方案

#1


那就不用中文的分词器了,用默认的标准分词器吧,那样就能满足了

#2


在已经分出了的词里面进行搜索不行么?就是会增加时间复杂度。

#3


如果确实需要,你可以加上单字的切分结果

#4


该回复于2009-07-21 10:18:13被版主删除

#5


qieqie的庖丁解牛分词器是按词典分词,如果你只加入了“运动”,而未加入“运”或“动”的话,就只能找到“运动”的相关信息,

qieqie的庖丁解牛分词器是查找词典中是否有相同的完全匹配的记录,所以你得把“动”或动都加入

#6


引用 1 楼 bjsuo 的回复:
那就不用中文的分词器了,用默认的标准分词器吧,那样就能满足了

这个效率是一个问题,就因为默认标签的分词器速度不是很快,所以才采用庖丁解牛分词器。

#7


引用 5 楼 ggggjatihc 的回复:
qieqie的庖丁解牛分词器是按词典分词,如果你只加入了“运动”,而未加入“运”或“动”的话,就只能找到“运动”的相关信息, 

qieqie的庖丁解牛分词器是查找词典中是否有相同的完全匹配的记录,所以你得把“动”或动都加入

思想好像是挺行的,可以研究一下,谢谢了,^_^

#8


不过还有个问题,如果采用添加单个字到词库里,那分词采用write最多匹配模式,那不是相当与单个字来分词,这样与lucene默认的标准分词器是不是没什么区别,性能还是不能提上去?

#1


那就不用中文的分词器了,用默认的标准分词器吧,那样就能满足了

#2


在已经分出了的词里面进行搜索不行么?就是会增加时间复杂度。

#3


如果确实需要,你可以加上单字的切分结果

#4


该回复于2009-07-21 10:18:13被版主删除

#5


qieqie的庖丁解牛分词器是按词典分词,如果你只加入了“运动”,而未加入“运”或“动”的话,就只能找到“运动”的相关信息,

qieqie的庖丁解牛分词器是查找词典中是否有相同的完全匹配的记录,所以你得把“动”或动都加入

#6


引用 1 楼 bjsuo 的回复:
那就不用中文的分词器了,用默认的标准分词器吧,那样就能满足了

这个效率是一个问题,就因为默认标签的分词器速度不是很快,所以才采用庖丁解牛分词器。

#7


引用 5 楼 ggggjatihc 的回复:
qieqie的庖丁解牛分词器是按词典分词,如果你只加入了“运动”,而未加入“运”或“动”的话,就只能找到“运动”的相关信息, 

qieqie的庖丁解牛分词器是查找词典中是否有相同的完全匹配的记录,所以你得把“动”或动都加入

思想好像是挺行的,可以研究一下,谢谢了,^_^

#8


不过还有个问题,如果采用添加单个字到词库里,那分词采用write最多匹配模式,那不是相当与单个字来分词,这样与lucene默认的标准分词器是不是没什么区别,性能还是不能提上去?