猿问

关于搜索提示的效率问题

<P>大家好。</P> <P>我想请教一下搜索提示(Google搜索输入关键字时下拉框中提示***一共几结果那个)时的效率问题。假如是从文章标题中搜索,如果每次keyUp时,就发请求到服务器商搜索文章表,那查询频率不是太大了?还是说搜索完后有缓存到哪里什么的?</P> <P>还有一个,搜索时假如输入“google map”,我想让标题中这两个单词连在一起的显示在前面,而不连在一起的(如结果中只包含“google“或只包含"map")的显示在后面,关于这个的实现有何建议?是要把结果取出后再进行过滤排序么?</P>

泛舟湖上清波郎朗
浏览 590回答 2
2回答

翻翻过去那场雪

------------------------------------------ 假如是从文章标题中搜索,如果每次keyUp时,就发请求到服务器商搜索文章表,那查询频率不是太大了?还是说搜索完后有缓存到哪里什么的? ------------------------------------------- 我曾经的做法是:每次输入完成都向服务器提交,而服务器返回该“头文字”的“推荐短语”。服务端如何对“推荐短语”排序,并且“头文字”以汉字为准、还是拼音为准(这是趋势),看你对用户搜多关键词的后期处理了。 ------------------------------------------ 还有一个,搜索时假如输入“google map”,我想让标题中这两个单词连在一起的显示在前面,而不连在一起的(如结果中只包含“google“或只包含"map")的显示在后面,关于这个的实现有何建议?是要把结果取出后再进行过滤排序么? ------------------------------------------ 结果集排序加权算法在搜索引擎制作中是比较重要的一环,诸如 google PageRank(?) 等技术就是针对该问题的多个方案之一。可以把“推荐短语”当成是对用户已用所有关键词的搜索。你的疑惑其实是对结果集进行“完整性加权”。完整性加权在我的项目中,是在用户搜索短语时对短语解词,而在多个“单词结果集”中进行整合,并在整合过程中加权。这样,含较完整短语的结果并会显示在总结果集前面。 我只是说了我的解决思路,但你更重要的是参考成熟的解决方案,比如 lucence(?) 等,呵呵。

慕尼黑的夜晚无繁华

一般来说,是每次keyup后延时一段时间,看有没有下一次keyup,如果(比如说)1秒的时间内键盘没有动作,则开始作自动提示,回传服务器获取列表
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答