IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

框计算精确搜索之架构篇

搜索研发部官方博客 2011-06-21 13:39:45 累计浏览 2,771 次
本机暂存

一年多来,百度开放平台已经和400多家合作伙伴实现了合作,覆盖了人们出行、娱乐、商务、工作等方方面面。面对每天超过一亿次的海量搜索请求,如何精确地理解用户需求,将最优质恰当的资源用最优的样式展现给用户,这都需要一个优秀的检索架构来支撑。

原图已失效

    对于一次检索请求,搜索框需要完成以下三步:

1.需求识别、精准分析

    茴香豆的“茴”字有四种写法,而一个简单的天气查询需求却有上百种不同的表达形式,可见要准确的识别出用户的需求是一项很有挑战性的工作。

    通过每天海量的检索请求,我们可以通过机器学习的方法将用户的各种表达方式,包括各地惯用的表达习惯和一些生僻的表达进行分析和学习。

    百度框计算的需求分析,是通过对query的语义分析和户行为分析实现的。在拿到了大量的机器学习结果之后,通过语义模板、规则匹配等等方式实现了用户需求的精确识别。

2.从大量站长提交数据中取回用户所需

    目前与框计算合作的站点已经达到了400多家,每天有上百个新资源提交申请。面对大量的站长数据,如何审核、配置、线上展示这些都有开放平台来管理。站长数据会经过抓取、分析、入库等环节然后被索引,等待用户检索。

    对于用户的一次检索请求,经过了需求分析识别后,我们就能够根据分析找到满足需求的站长资源。从特定的索引库中取回检索结果后,可能会遇到同时有多个资源能够满足用户需求。我们还会对这些资源进行一个评价,将最为优质的资源放在最前面。

3.不同类型的数据用最恰当的方式展现给用户

    针对不同类型的资源,我们用有针对性的样式展现给用户。我们来看一下几个特殊展现的例子:

原图已失效
原图已失效

对于站长来说,他可以在提交数据的时候自主决定使用怎样的样式来展现自己的资源,做到所见即所得。

对于用户来说,多样性可浏览化的搜索结果对于用户体验来说是很好的。

对于后台,我们是采用了一套通用的模板引擎来实现这样的效果,模板引擎实现了资源展现的预览、后台可配置、即插即用等功能。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 腾讯-1亿个数据取前1万大的整数-题解答 (累计阅读 10,073)
  2. 搜索引擎的特殊用法 (累计阅读 8,121)
  3. 百度日本-四面楚歌 (累计阅读 8,005)
  4. 新浪微博笔试题:找出共有2个以上标签的用户对 (累计阅读 5,997)
  5. 大型网站的Lucene应用 (累计阅读 5,212)
  6. 不要用3%人思维去做中国互联网 (累计阅读 4,829)
  7. 百度的框,请移动一下 (累计阅读 4,721)
  8. 百度这个公司 (累计阅读 4,707)
  9. 为什么长尾数据的翻页技术实现复杂 (累计阅读 4,554)
  10. 提高你的计算机英语阅读能力 (累计阅读 4,482)