[Whoosh 搜索引擎之 三 ] 词汇表
词汇表
Analysis
将字段的文本分解为要索引的单个词条 (Term) 的过程。这包括将文本标记为词条 (Term),然后选择性地过滤标记化的词条(例如,小写和删除停用词)。 Whoosh 包括几个不同的分析器。
Corpus
您正在编制索引的文档集。
Documents
您希望使其可搜索的个别内容。 “文档” 一词可能意味着文件,但数据源实际上可以是任何东西——内容管理系统中的文章、博客系统中的博客文章、非常大的文件块、从 SQL 查询返回的行、来自邮箱文件,或其他任何东西。当您从 Whoosh 获得搜索结果时,结果是一个文档列表,无论 “文档” 在您的搜索引擎中意味着什么。
Fields
每个文档都包含一组字段 (Fields)。 典型的字段可能是“标题”、“内容”、“url”、“关键字”、“状态”、“日期”等。字段可以被索引(因此它们是可搜索的)和/或与文档一起存储。 存储字段使其在搜索结果中可用。 例如,您通常希望存储“标题”字段,以便您的搜索结果可以显示它。
Forward index
列出每个文档和文档中出现的单词的表格。 Whoosh 允许您存储词向量 (term vectors),这是一种前向索引 (Forward index)。
Indexing
检查语料库中的文档并将其添加到反向索引 (Reverse index) 的过程。
Postings
反向索引 (Reverse index) 列出了语料库 (corpus) 中的每个单词,对于每个单词,还有该单词出现的文档列表,以及一些可选信息(例如该单词在该文档中出现的次数)。 列表中的这些项目,包含文档编号和任何额外信息,称为帖子 (Postings)。 在 Whoosh 中,存储在帖子中的信息可以针对每个字段进行自定义。
Reverse index
基本上是一个表格,列出了语料库 (corpus) 中的每个单词,以及每个单词出现的文档列表。 它可能更复杂(索引还可以列出单词在每个文档中出现的次数、出现的位置等),但这就是它的基本工作原理。
Schema
Whoosh 要求您在开始索引 (indexing) 之前指定索引 (index) 的字段 (fields) 。模式 (Schema) 将字段名称与字段的元数据相关联,例如发布的格式以及字段的内容是否存储在索引中。
Term vector
某个文档中某个字段的正向索引。 您可以在模式 (Schema) 中指定给定字段应存储词向量 (term vectors)。