最近的一個(gè)項(xiàng)目浪南,由于手機(jī)屏幕小的特性,輸入不如在電腦上用鍵盤打字一般流暢,所以很多用戶會(huì)偷懶,直接輸入拼音、拼音首字母炼七、某個(gè)詞匯去進(jìn)行搜索,那么在這種情況下布持,就需要系統(tǒng)對(duì)用戶的搜索行為進(jìn)行分析特石,猜想用戶最想搜索的是什么?最后將最符合用戶需要的結(jié)果展現(xiàn)在用戶面前鳖链。這就要求系統(tǒng)能快速響應(yīng)用戶的搜索需求姆蘸,將拼音轉(zhuǎn)換成相應(yīng)的漢字詞組去數(shù)據(jù)庫(kù)檢索相關(guān)的對(duì)象信息,將搜索結(jié)果展現(xiàn)給用戶芙委,同時(shí)還發(fā)現(xiàn)逞敷,不同的用戶對(duì)用同一個(gè)詞條(標(biāo)題)的提示排序順序,有不同要求灌侣,
比如用戶輸入jd推捐,高校圖書館用戶希望《基督山伯爵》排在前面,《京東瘋狂大減價(jià)》(我YY的)排在后面侧啼,如果是電商用戶牛柒,恐怕正好相反堪簿,對(duì)電商而言,不同銷售季節(jié)皮壁,希望搜索提示出詞條的排序也是不同的椭更。
我發(fā)現(xiàn)在網(wǎng)上找個(gè)關(guān)于搜索框(input標(biāo)簽)自動(dòng)提示的JS插件很容易,一大堆供你挑選蛾魄,但是虑瀑,要想實(shí)現(xiàn)拼音、拼音首字母匹配滴须、模糊匹配舌狗、智能容錯(cuò)、自定義提示詞條自主排序等等這些功能扔水,是非惩词蹋瑣碎非常麻煩的,更麻煩的是魔市,我的數(shù)據(jù)在50萬(wàn)條左右恋日,要想前端用戶輸入之后有較快(延時(shí)小于100ms)的響應(yīng),還需要在前端加一層cache嘹狞,memocache 、redis試了個(gè)遍誓竿。
網(wǎng)上的智能提示JS插件磅网,都僅僅是一個(gè)前端界面,要實(shí)現(xiàn)自動(dòng)補(bǔ)全筷屡,困難的是后端實(shí)現(xiàn)
項(xiàng)目做完后我在想涧偷,是否可以做一個(gè)JS插件,把前面提到那些功能都封裝起來(lái)毙死,放在一臺(tái)云服務(wù)器上燎潮,開發(fā)者每次需要使用
自動(dòng)補(bǔ)全這個(gè)功能時(shí),只需準(zhǔn)備好要提示的詞條列表或者標(biāo)題列表扼倘,及其排序的優(yōu)先級(jí)确封,向云服務(wù)器提交這些數(shù)據(jù),
服務(wù)自動(dòng)生成前面提到的各種索引(前綴再菊、拼音爪喘、容錯(cuò)),并且自動(dòng)分發(fā)到一個(gè)cache中纠拔,開發(fā)者只需在自己的H5頁(yè)面中引用一行JS秉剑,
就可以通過(guò)跨域的方式使用自動(dòng)提示的數(shù)據(jù)了,不再需要配置什么數(shù)據(jù)庫(kù)稠诲,也不需要寫一行后臺(tái)的java/php代碼
項(xiàng)目網(wǎng)址 www.92find.com 可以免費(fèi)用啊
4851c2fcfb4d 評(píng)論自{search} 如何支持拼音首字母搜索
最近的一個(gè)項(xiàng)目侦鹏,由于手機(jī)屏幕小的特性诡曙,輸入不如在電腦上用鍵盤打字一般流暢,所以很多用戶會(huì)偷懶略水,直接輸入拼音价卤、拼音首字母、某個(gè)詞匯去進(jìn)行搜索聚请,那么在這種情況下荠雕,就需要系統(tǒng)對(duì)用戶的搜索行為進(jìn)行分析,猜想用戶最想搜索的是什么驶赏?最后將最符合用戶需要的結(jié)果展現(xiàn)在用戶面前炸卑。這就要求系統(tǒng)能快速響應(yīng)用戶的搜索需求,將拼音轉(zhuǎn)換成相應(yīng)的漢字詞組去數(shù)據(jù)庫(kù)檢索相關(guān)的對(duì)象信息煤傍,將搜索結(jié)果展現(xiàn)給用戶盖文,同時(shí)還發(fā)現(xiàn),不同的用戶對(duì)用同一個(gè)詞條(標(biāo)題)的提示排序順序蚯姆,有不同要求五续,
比如用戶輸入jd,高校圖書館用戶希望《基督山伯爵》排在前面龄恋,《京東瘋狂大減價(jià)》(我YY的)排在后面疙驾,如果是電商用戶,恐怕正好相反郭毕,對(duì)電商而言它碎,不同銷售季節(jié),希望搜索提示出詞條的排序也是不同的显押。
我發(fā)現(xiàn)在網(wǎng)上找個(gè)關(guān)于搜索框(input標(biāo)簽)自動(dòng)提示的JS插件很容易扳肛,一大堆供你挑選,但是乘碑,要想實(shí)現(xiàn)拼音挖息、拼音首字母匹配、模糊匹配兽肤、智能容錯(cuò)套腹、自定義提示詞條自主排序等等這些功能,是非匙收。瑣碎非常麻煩的沉迹,更麻煩的是,我的數(shù)據(jù)在50萬(wàn)條左右害驹,要想前端用戶輸入之后有較快(延時(shí)小于100ms)的響應(yīng)鞭呕,還需要在前端加一層cache,memocache 、redis試了個(gè)遍葫松。
網(wǎng)上的智能提示JS插件瓦糕,都僅僅是一個(gè)前端界面,要實(shí)現(xiàn)自動(dòng)補(bǔ)全腋么,困難的是后端實(shí)現(xiàn)
項(xiàng)目做完后我在想咕娄,是否可以做一個(gè)JS插件,把前面提到那些功能都封裝起來(lái)珊擂,放在一臺(tái)云服務(wù)器上圣勒,開發(fā)者每次需要使用
自動(dòng)補(bǔ)全這個(gè)功能時(shí),只需準(zhǔn)備好要提示的詞條列表或者標(biāo)題列表摧扇,及其排序的優(yōu)先級(jí)圣贸,向云服務(wù)器提交這些數(shù)據(jù),
服務(wù)自動(dòng)生成前面提到的各種索引(前綴扛稽、拼音吁峻、容錯(cuò)),并且自動(dòng)分發(fā)到一個(gè)cache中在张,開發(fā)者只需在自己的H5頁(yè)面中引用一行JS用含,
就可以通過(guò)跨域的方式使用自動(dòng)提示的數(shù)據(jù)了,不再需要配置什么數(shù)據(jù)庫(kù)帮匾,也不需要寫一行后臺(tái)的java/php代碼
項(xiàng)目網(wǎng)址 www.92find.com 可以免費(fèi)用啊
{search} 如何支持拼音首字母搜索這個(gè)問(wèn)題要先分成兩個(gè)方面: 如何取得漢字的拼音首字母 如何支持首字母搜索 第1點(diǎn)可以通過(guò)pinyin4j來(lái)粗略實(shí)現(xiàn)啄骇。搜索不是無(wú)源之水,第2點(diǎn)的前提是有物可搜瘟斜,也就是要有數(shù)據(jù)源...