在文档集规模很大的情况下,满足布尔查询的结果文档数量可能非常多,往往会大大超过用户能够浏览的文档数目。因此对搜索引擎来说,对文档进行评分和排序非常重要。
参数化索引及域索引
大多数文档具有额外的结构信息,与文档相关的特定形式的数据(比如作者、标题、出版日期等)我们称为元数据。数字文档通常会把与之相关的元数据以机读的方式一起编码。元数据通常会包括字段信息,对每个字段(比如文档创建时间)建立与之对应的参数化索引,通过它我们只选择在字段上满足查询需求的文档。对字段的词典采用类似B树的数据结构进行组织。
域与字段很相似,字段通常的取值可能性相对较小,域的内容可以是任意的自由文本。比如,通常可以把文档的标题和摘要看做域,然后对文档不同的域构建独立的倒排索引,用以支持类似“寻找标题中出现xxx”之类的查询请求。
参数化索引中,词典常常来自固定的词汇表(比如语言种类、日期),域索引中,词典中应该收集来自域中自由文本的所有词汇。
域加权评分:
给定一个布尔查询 q 和一篇文档 d ,域加权评分方法给查询词 q 与文档 d 中的每个月匹配度进行加权计算,从而获得最终评分,假设文档有