为了账号安全,请及时绑定邮箱和手机立即绑定

关于搜索提示的效率问题

关于搜索提示的效率问题

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

2 回答

?
森栏

TA贡献1810条经验 获得超5个赞

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

查看完整回答
反对 回复 2018-07-25
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

匹配应采用全文索引的方式匹配,而不是遍历数据库。全文索引采用倒排序索引,检索效率非常高。 你可以尝试使用 lucene + 一个分词组件。

查看完整回答
反对 回复 2018-07-25
  • 2 回答
  • 0 关注
  • 858 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信