Board logo

标题: [共享] 强化ECSHOP搜索功能(随机关键词+拼音搜索+分词搜索+结果分类展示+关键字标红) [打印本页]

作者: mruiweb    时间: 2014-11-6 14:32     标题: 强化ECSHOP搜索功能(随机关键词+拼音搜索+分词搜索+结果分类展示+关键字标红)

在做这个功能前,在网上搜了搜,发现这种插件2500元。。。汗
QQ截图20141106103208.jpg
2014-11-6 14:31


所以还是自己进行开发。
1、随机关键词:
原理获取关键词数量,然后进行随机数,以下是关键jquery代码
$('.searchkeywords').ready(function(){

    var k_num = $('.searchkeywords').find('a').length;

var s_num = Math.floor(Math.random()*(k_num+1));

var k_html = $('.searchkeywords').find('a').eq(s_num).html();

if(k_html){

  $('#keyword').val(k_html);

}

for(i=0;i<3;i++){ //标红三个关键字

   $('.searchkeywords').find('a').eq(Math.floor(Math.random()*(k_num+1))).css('color','#ff0000');

}

});



2、分词搜索
原理:把获取的关键字通过分词类进行分词
如何得到分词类?有使用过dedecms的朋友就知道了,dedecms就有**一个不错的分词类,借助这个类即可把关键字进行分词


3、拼音搜索,分为全拼和首拼
原理:实际上拼音搜索说白了就是查找用户关键字表中的全拼和首拼字段值,简单来说就是先保存用户搜索的关键词,再调用出来  苹果手机===》保存中文和拼音到表中,然后前台就能自动获取
那么如何得到这些值?
那必须有一个汉字转拼音的类(网上搜大把大把的,不过要注意gbk和utf-8编码转是不同的,尽量找一个两者都兼容的)

所以结合分词搜索+拼音搜索顺序为:先把关键词比如“苹果手机” 拆分为“苹果手机”、“苹果”、“手机”,然后进行三个词的转换拼音,接着保存词和拼音字段(这个操作是在search.php里面)

然后前台通过autocomplete插件(这个大家都熟悉),传递关键词,然后搜索中文同时,把关键词再次分词和转换拼音,然后模糊查询,把结果返回前台(这个操作要自己写一个ajax接口)。
至于分类查询如何实现?其实就是获取第一条搜索记录的分类id,然后查找分类名称(也可以查找父类的)

效果如下:
shopintro2.jpg
2014-11-6 14:31


QQ截图20141106093904.jpg
2014-11-6 14:31


网址:http://www.mruiweb.com

图片附件: QQ截图20141106103208.jpg (2014-11-6 14:31, 50.43 KB) / 下载次数 425
http://bbs.ecshop.com/attachment.php?aid=112788&k=73eb326dcae4805b7fcb30b59d494efe&t=1638562587&sid=1FFEXJ



图片附件: QQ截图20141106093904.jpg (2014-11-6 14:31, 194.19 KB) / 下载次数 433
http://bbs.ecshop.com/attachment.php?aid=112789&k=cd66a648a300a51b7688e3fd75ca7b61&t=1638562587&sid=1FFEXJ



图片附件: shopintro2.jpg (2014-11-6 14:31, 156.51 KB) / 下载次数 486
http://bbs.ecshop.com/attachment.php?aid=112790&k=29848fd89475d997e24dfe4a4418a26a&t=1638562587&sid=1FFEXJ


作者: mruiweb    时间: 2014-11-6 18:26

本帖最后由 mruiweb 于 2014-11-20 16:13 编辑

承接所有ecshop定制和开发业务,具体联系QQ:1946903160
作者: mruiweb    时间: 2014-11-6 18:28

正文的图弄反了,我晕。。。




欢迎光临 ECShop电商系统交流论坛 (http://bbs.ecshop.com/) Powered by Discuz! 7.2