"大小说家"被sphinx分成"大"和"小说家:两个词 , 词典里有"大小", 有没有可能分成"大小"和"小说家"这样
如果只能分成"大"和"小说家", 那么搜索"大小", 是搜索不到的, 这样可不行哦
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如果只能分成"大"和"小说家", 那么搜索"大小", 是搜索不到的, 这样可不行哦
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(12)
好的, 看来还是需要学习c/c++啊
回复
恩, 东西稍微偏底层了, 一般面对的都是c/c++啦..
@风起q
这个要先知道你的逻辑处理语言. 如果是php就使用robbe
1. 在你的逻辑处理层来完成分词.
2. 将friso嵌入到sphinx中去, 这个需要熟悉sphinx的分词接口. 也就是tokenize函数的自定义重写.
谢谢, 我是用的coreseek自带的分词,我试下你说的
错了 是就是没有大小
分词器都是按照一定的算法来切分的, 全部算法至少都会遵循汉语的使用习惯规则, "大小说家", 从字面理解, 切分成"大/ 小说家"是最好的结果, 你的这个属于特殊要求了.
我不知道你用的分词器是什么, 可以使用friso试下.
"大小说家", 也会被切分成, 大/ 小说家
但是你可以利用friso的同义词功能来实现这个功能:
1. 在词库中加入"大小说家"词条.
2. 给"大小说家"添加"大小"和"小说家"两个同义词词条.
这样无论你是检索"大小", "小说家"还是"大小说家"都会有检索结果的.
搜索"大小"的时候, 搜索不到"大小说家", 这个是一个专辑的名称, 是需要被搜索到的
这样分不是很好吗?
嗯
回复
用户既然是用“大小”这个关键词来搜索,那么出现“大小说家”对他来说就属于一个他不想要的结果(垃圾)。就像你用“猕猴”来搜索猕猴这种动物的资料,却出现“猕猴桃”这样的结果,对你来说这个结果就是你不想要的!
回复
不能这样说啊, 因为如果恰好跟大小有关的就这样一个, 或者都没有被分成大小这个词, 那么搜索结果就是空, 这样是不合理的
你希望用户用“大小”这个关键词搜索的时候出现“大小说家”这个结果?