Lucene自动补全数据来源问题

MLGKO 发布于 2015/12/25 22:47
阅读 415
收藏 1

@实迷途其未远觉今是而昨非 你好,想跟你请教个问题:

我想实现一个lucene自动补全,这个自动补全的数据源如何提供。比如我现在要做一个商品检索!商品检索的lucene数据源是我做一个定时任务每天从数据库更新到lucene中,但是这个自动补全的数据源如何去做?还有要实现一个拼音纠错,希望大神给指点指点,小弟在此感激不尽!!!!!!!
加载中
0
huangfox009
huangfox009
1)自动补全词库构建问题
根据你的实际场景,例如主库是商品信息,那么自动补全基本都是“商品名称、品牌名称、属性词、促销词”,这是最简单的补全词库(单个词补全),当数据量上去后可以考虑多次补全,例如“商品名称+品牌”,“商品名称+属性词”。
如果再往下面考虑,可以考虑类目直达,例如搜索“苹果”,提示进入“3c类目”或者“生鲜类目”。这个你可以参考主流电商的做法。




2)拼音纠错的问题
建立一个基础词库,用全拼做索引,当用户输入一个“错词”时,导致无结果(或者少结果),这时对这个“错词”转拼音,在前面提到的拼音库里面搜索,搜索到多个词条可以根据词频选取最常用词。
当然这还是依靠词库的,自己可以去多想想办法。
至于什么前鼻音、后鼻音的问题,你可以在拼音库里面做兼容处理。


。。。词库的问题,都是积累的问题!
希望对你有帮助!
0
huangfox009
huangfox009
ps:当用户日志有一定量的时候,可以分析用户日志。提取热门词、词权(用户搜索频率)这些问题又是另外的思路了。
0
MLGKO
MLGKO

引用来自“huangfox009”的评论

1)自动补全词库构建问题
根据你的实际场景,例如主库是商品信息,那么自动补全基本都是“商品名称、品牌名称、属性词、促销词”,这是最简单的补全词库(单个词补全),当数据量上去后可以考虑多次补全,例如“商品名称+品牌”,“商品名称+属性词”。
如果再往下面考虑,可以考虑类目直达,例如搜索“苹果”,提示进入“3c类目”或者“生鲜类目”。这个你可以参考主流电商的做法。




2)拼音纠错的问题
建立一个基础词库,用全拼做索引,当用户输入一个“错词”时,导致无结果(或者少结果),这时对这个“错词”转拼音,在前面提到的拼音库里面搜索,搜索到多个词条可以根据词频选取最常用词。
当然这还是依靠词库的,自己可以去多想想办法。
至于什么前鼻音、后鼻音的问题,你可以在拼音库里面做兼容处理。


。。。词库的问题,都是积累的问题!
希望对你有帮助!
那相当于我在建立商品检索索引时候也建立一个自动补全词库,然后这个自动补全词库是根据我每次定时更新商品检索索引库时也更新自动补全词库,然后这个自动补全词库是根据商品名称或者品牌、属性词等等结合的一个字符串然后进行分词存储到索引中,那么这个自动补全的词库和我商品检索的索引库是两个库喽  如果要是添加拼音纠错的话 我还得再建立一个拼音纠错的索引库是吗?
0
推荐方案
推荐方案

实现一个智能提示功能需要ajax、数据库、jsp/php、算法等很多知识,
如果数据量大,还需要特殊优化
一个小功能,花费太大精力很不划算
92find.com上的一个js插件实现了搜索框自动补全托管服务,
只要一行javascript代码就可以实现百度、淘宝搜索框提示的全部功能
比如:汉字拼音匹配、拼音前缀匹配、模糊搜索、智能容错,还可以自定义提示词汇及其排序权重
花五分钟我的网站就可以部署同百度、淘宝一样强大好用的输入提示功能
同时兼容IE、Firefox、Safari、Chrome、Opera各种浏览器 ;兼容ios、Android、Windows

返回顶部
顶部