注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

Google的搜索智能提示功能的实现方式~  

2009-10-20 19:28:01|  分类: lucene |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
刚开始,在没有帮助数据的情况下,数据库中有一个表记录搜索的关键字。比如,我搜“金山词霸2007”,数据库中增加一条数据(关键字为“金山词霸2007”,搜索次数为1);再有人搜“金山词霸2009”,加入一条数据;然后我搜“金山词霸”,下面会出现“金山词霸2007”和“金山词霸2009”两个帮助;但如果带有“金山词霸”关键字多了怎么办?总不能有1000个词条,在搜索框下提示1000个吧?自己想的解决办法:搜索次数大于N次的词条显示出来(好像Google没有固定显示几个搜索帮助);如果一些词条被搜索到的频率很低怎么办?可以设置隔一段时间系统自动检测搜索次数少于N次词条被删除,以免数据库被一些垃圾数据占用。
    还有些问题如何将数据库中的词条显示在搜索框下?重要的一点就是当我输入“jinshanciba”的时候,下面也提示“金山词霸2007”??这个如何解决的?望各位指教下~

采纳的答案

2009-08-20 ajie1986 (初级程序员)

回答你最后一个问题:
上面的回答者讲的是英汉转换的问题。
至于如何在搜索框里实现只要输入,就出现搜索提示。这是用AJAX做的。
可以这样:搜索框,即input只要value onchanged,就发送一个事件到后台处理,在数据库中检索,然后将返回值写进一个xml文件。然后提示信息是通过这个xml文件来显示的。
通过ajax的异步通信机制,只要搜索框内容变化,就不断的发送请求,更新提示信息。

提问者对于答案的评价:
谢谢大家
额外加分:15

其他回答

回答问题1:搜索提示应该是模糊匹配,类似于 like 关键字%这种型式吧。
回答问题2:提示显示多少可以在匹配时就设定 like 关键字% limit 0,10
这里就只匹配前10条数据。
回答问题3:google提供了翻译的api,其中就支持拼音。举个例子:比如你输入“成都”的话,翻译之后是"chengdu".
zl07 (初级程序员) 2009-08-19 举报作弊
你应该只显示所有关键字的降序的前10个就好了,
没必要搞这么麻烦

jinshanciba也就是拼音,找个汉字转拼音的开源库(已经有了),数据库增加一个字段存储拼音的,就容易了
lovewhzlq (CTO) 2009-08-20 举报作弊
  评论这张
 
阅读(787)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017