全栈开发

[Whoosh 搜索引擎之 三 ] 词汇表

2023-02-16  本文已影响0人  luohuayong

词汇表

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)。

上一篇 下一篇

猜你喜欢

热点阅读