強化ECSHOP搜索功能(隨機關鍵詞+拼音搜索+分詞搜索+結果分類展示+關鍵字標紅)開發思路
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,然后查找分類名稱(也可以查找父類的)
新聞熱點
疑難解答