我要加黑客qq免费接单黑客 ***

访客3年前黑客资讯1049

搜索关键字智能提示是一个搜索应用的标配,主要作用是避免用户输入错误的搜索词,并将用户引导到相应的关键词上,以提升用户搜索体验。

美团CRM系统中存在数以百万计的商家,为了让用户快速查找到目标商家,我们基于solrcloud实现了商家搜索模块。用户在查找商家时主要输入商户名、商户地址进行搜索,为了提升用户的搜索体验和输入效率,本文实现了一种基于solr前缀匹配查询关键字智能提示(Suggestion)实现。

需求分析
1.支持前缀匹配原则
在搜索框中输入“海底”,搜索框下面会以海底为前缀,展示“海底捞”、“海底捞火锅”、“海底世界”等等搜索词;输入“万达”,会提示“万达影城”、“万达广场”、“万达百货”等搜索词。
2.同时支持汉字、拼音输入
由于中文的特点,如果搜索自动提示可以支持拼音的话会给用户带来更大的方便,免得切换输入法。比如,输入“haidi”提示的关键字和输入“海底”提示的一样,输入“wanda”与输入“万达”提示的关键字一样。
3.支持多音字输入提示
比如输入“chongqing”或者“zhongqing”都能提示出“重庆火锅”、“重庆烤鱼”、“重庆小天鹅”。
4.支持拼音缩写输入
对于较长关键字,为了提高输入效率,有必要提供拼音缩写输入。比如输入“hd”应该能提示出“haidi”相似的关键字,输入“wd”也一样能提示出“万达”关键字。
基于用户的历史搜索行为,按照关键字热度进行排序
为了提供suggest关键字的准确度,最终查询结果,根据用户查询关键字的频率进行排序,如输入[重庆,chongqing,cq,zhongqing,zq] —> [“重庆火锅”(f1),“重庆烤鱼”(f2),“重庆小天鹅”(f3),…],查询频率f1 > f2 > f3。


解决方案
1.关键字收集
当用户输入一个前缀时,碰到提示的候选词很多的时候,如何取舍,哪些展示在前面,哪些展示在后面?这就是一个搜索热度的问题。用户在使用搜索引擎查找商家时,会输入大量的关键字,每一次输入就是对关键字的一次投票,那么关键字被输入的次数越多,它对应的查询就比较热门,所以需要把查询的关键字记录下来,并且统计出每个关键字的频率,方便提示结果按照频率排序。搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。
2.汉字转拼音
用户输入的关键字可能是汉字、数字,英文,拼音,特殊字符等等,由于需要实现拼音提示,我们需要把汉字转换成拼音,java中考虑使用pinyin4j组件实现转换。
3.拼音缩写提取
考虑到需要支持拼音缩写,汉字转换拼音的过程中,顺便提取出拼音缩写,如“chongqing”,"zhongqing"--->"cq",”zq”。
4.多音字全排列
要支持多音字提示,对查询串转换成拼音后,需要实现一个全排列组合,字符串多音字全排列算法如下:


相关文章

世界八大烈酒(世界十大烈酒排名)

世界八大烈酒(世界十大烈酒排名) 烈酒(spirits)是高浓度的烈性酒,也叫蒸馏酒,所谓蒸馏酒,即以粮谷或替代用原料(如薯类、水果及糖蜜等淀粉质原料),利用由微生物培养的曲类、酵母等发酵剂,经蒸煮...

阿塞拜疆和亚美尼亚根玩核桃据停火声明交换阵亡士兵

  新华社第比利斯11月14日电(记者李铭)巴库消息:阿塞拜疆国防部14日说,阿塞拜疆与亚美尼亚当日交换了两国部分阵亡军人遗体。   阿国防部当日发表的声明说,在俄罗斯驻纳戈尔诺-卡拉巴赫(纳卡)地...

寿司的家常做法 寿司的家常做法和材料

寿司的家常做法 寿司的家常做法和材料

  1.米饭内倒入一点寿司醋拌匀,胡萝卜,火腿,黄瓜切长条,碗内打入鸡蛋,搅拌均匀。 2.锅内倒入蛋液摊匀,凝固后出锅,切长条,寿司席上铺一层寿司海苔,放入米饭,摊匀。...

救助赌徒的公益平台(赌徒的人生)

赌徒自己也知道,但是就是控制不住,所以福祸自己把握吧! 认真赌了就行,输赢都不后悔 呵有些人小时候酗酒吸毒,长大依然能成功(一位美国总统具体是谁不记得了)。人生在世犯过错很正常,至少你还意识到你错了,...

黑客帝国评分很高(黑客帝国什么水平)

黑客帝国评分很高(黑客帝国什么水平)

本文导读目录: 1、《黑客帝国》三部曲依然经典!你还知道科幻电影的标杆有哪些? 2、1999年电影《黑客帝国》为什么被称作大片? 3、电影《黑客帝国》好不好看? 4、黑客帝国这电影评分那么...

住建部:加快推动违法氢氧除碳机建设和违法违规审批专项

  住房和城乡建设部:加快推动违法建设和违法违规审批专项清查   新华社北京1月30日电(记者王优玲)住房和城乡建设部相关负责人近日表示,以最坚决的态度抓实违法建设和违法违规审批专项清查工作,真正把...