搜索引擎-架构概述(2)

来源:互联网 发布:编程方向 编辑:程序博客网 时间:2024/05/15 03:03

接上一部分:搜索引擎-架构概述(1)

查询处理系统

查询处理系统主要包含三个构件:用户交互、排序和评价。
这里写图片描述

用户交互组件 (User interaction)

创建查询、完善查询以及向用户展示结果.
比如,将用户的查询转换为索引项.
并将从搜索引擎得到的有序文档列表组织成搜索结果,展示给用户.

1.查询输入 (Query Input)

为查询语言(query language)提供接口和解析器。
查询语言一般只有很少的几个操作符,这些操作符指示应该对查询作特殊处理。
比如布尔型操作符,AND、ORNOT,当然也包括临近操作符(proximity)。
查询语言的作用,一是用来描述更加复杂的查询,二是描述查询转换的结果。

2.查询转换 (Query Tranformation)

改进初始查询,在生成有序的文档前后提供完善处理。
包括一些文本转换的技术。
比如分词、停用词去除和词干提取,以生成可以和文档的索引项可以匹配的索引项。
拼写检查(spell checking)和查询建议(query suggestion)用于生成和用户查询相似的输出。
查询扩展(query expasion)和相关性反馈(relevance feedback)技术,使用额外的词项来修改初始查询。这些词项的来源,主要是对文档中词项的出现情况、用户认为相关的文档中出现的词项等分析为基础。

3.结果输出 (Results Output)

对已经排好序的文档结果进行展示。
包括生成文档摘要(snippets)和高亮关键字和关键段落(highlighting)。
另外,也可能包括对文档集进行聚类展示,并添加一些相关的广告。
这里写图片描述

排序组件 (Ranking)

利用查询和索引生成有序的文档列表.
这个搜索引擎的核心组件,它接收用户查询,并根据检索模型得到一个按分值排好序的文档列表.
排序必须满足高效、优质.

1.评分 (Scoring)

使用评分算法为文档进行评分,这是文档排序的基础。

评分组件是搜索引擎的核心.

一般的评分可描述为:

iqidi

其中qidi分别是第i个查询词项和文档词项的权重.
评分方式依赖于检索模型,检索模型有很多,比如基于BM25、查询似然度的检索模型。

2.优化性能 (Performance optimization)

排序的效率对于搜索引擎的表现至关重要,所以需要进行性能优化。
性能优化设计排序算法和索引表的设计等,目的是降低响应延时、提高吞吐率。

一次一词项方式(term-at-a-time)
以词项为单位,先处理词项ti的倒排表,再处理ti+1,需要对每个未处理完的文档建立一个累加器。
一次以文档方式(document-at-a-time)
以文档为单位,先计算文档di,再计算di+1,需要文档在所有倒排表中的顺序一致。
安全方式优化(safe)
优化前后的文档排序结果相同。
非安全方式优化(unsafe)
优化前后的文档排序结果不同。

3.分布式 (Distribution)

既然索引是分布式的,那么排序也可以采用分布式方法。
查询代理(query broker)可以将多个用户查询分发到不同的计算节点,并负责聚合各个计算节点的处理结果。
缓存(cache)也是一种分布式的方式,如果将前一个用户的查询结果保存在内存中,那么如果有其他用户使用类似的查询,将可直接从缓存中返回结果,这大大提高了查询的效率。

评价组件 (Evaluation)

评价和监测搜索的质量和性能.
其中,利用日志系统来记录用户行为,并对其进行分析以优化搜索.
可以看出,评价系统会对排序系统做出改善和调整.
显然,评价系统是滞后的,所以一般它作为离线系统的一部分.

1.日志分析 (Logging)

记录用户搜索行为日志,对于改进排序和查询处理意义重大。
用户的查询日志,可以作为拼写检查、查询推荐、查询缓存等任务的基础。
精准广告技术就依赖于用户的搜索行为分析。

用户对查询结果的处理方式可以用来反映文档对于用户查询是否是相关的。
如果用户在搜索引擎返回的排序文档中,点击了其中一个,那么这个文档可能就是和用户查询相关性比较高的一个。
同时,跟踪用户的点击流和页面驻留时间,可以用来评价和训练排序算法。

2.排序分析 (Ranking Analysis)

评价和改善搜索的有效性。
通过大量的查询-文档对,结合查询日志,可以判定一个排序算法的结果,用于和其它算法进行比较,以确定更优化的参数等来改善排序结果。

3.性能分析 (Performance Analysis)

评价和改善搜索的效率。
监测和收集系统运行的性能指标。如响应时间、吞吐量、网络延时等等。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕六个月体重一天增加两斤怎么办 备孕同房后一直乳头立起来怎么办 夏天出汉内衣老是湿的怎么办 大腿旁边长了红色的癣怎么办 跑步膝盖疼怎么办能不能再跑了 两周宝宝剧烈运动后咳嗽怎么办 bra的M有点紧L有点宽怎么办 穿吊带总是会露出来左胸罩杯怎么办 生小孩后腰部有一圈黑色勒痕怎么办 新买的饮水机热水口出水小怎么办 新买的饮水机热水口不出水怎么办 平胸没有适合自己的内衣怎么办 售楼小姐穿坏的丝袜都怎么办了 蛋白粉一天喝十克补不起来怎么办 跑步时没有卸妆毛孔堵塞了怎么办 自己做的葡萄酒太甜了怎么办 健身馆碰到一个帅的健身教练怎么办 随着年龄的增长脖子越来越短怎么办 安装软件时解析包出现问题怎么办 鼻子吸进去的气往嘴巴里怎么办 做完瑜伽之后大腿后侧特别紧怎么办 刚下生小狗腿后腿站不起来怎么办 脚被凳子压到了流血了怎么办还很痛 小狗脚被凳子压出血了怎么办 怀孕8个月脐带绕颈一周怎么办 练完瑜伽大腿两侧肌肉麻木怎么办 突然吃了辣火锅肚子烫怎么办 副鼻窦炎鼻头顶痛鼻子臭怎么办 一岁宝宝夜里睡觉不踏实怎么办 分手一个月了还是放不下前任怎么办 当晚上遇到烦心事睡不着该怎么办 为什么白天太累晚上就睡不着怎么办 白天走累的脚痛晚上睡不着怎么办 1岁宝宝感冒咳嗽流泪流鼻涕怎么办 宝宝不含母乳只吃奶瓶怎么办 宝宝习惯奶嘴不咬妈妈的乳头怎么办 我的乳晕和私处色素沉着怎么办 双盘打坐膝痛腿脚心处紫青怎么办? 双盘打坐两膝盖不能着地怎么办? 做完蹲起之后腿疼的受不了怎么办 孩子游泳学不会不想去了怎么办