Whoosh使用手册(一些术语)(二)

本文介绍了全文检索系统的基本概念,包括分析(Analysis)、语料库(Corpus)、文档(Documents)、字段(Fields)、前向索引(Forwardindex)、索引(Indexing)、倒排索引(Resverseindex)、模式(Schema)及词条向量(Termvector)。通过这些核心概念的理解,可以帮助读者更好地掌握全文检索系统的运作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


术语

Analysis
把文本分成单个词语并且索引的过程,先把文本分成词组,然后选择性的过滤(大小写之类的)Whoosh包含几种不同的analyzer

Corpus
你正在索引的文本集

Documents
你希望能有搜索到的单个词的内容,"documents"可能是有文件的意思,但是事实上数据源可以时任意的——管理系统上面的文章,博客系统上面的博客,一个大文件的文件块,SQL查询的一行数据,个人邮件或者任何别的东西。当你从Whoosh得到搜索结果的时候,结果是一个documents的列表,无论“document”在你的搜索引擎里面意味着什么

Fields
每一个document包含着一个Field集,典型的Filed可能是“title”,“content”,“url”,“keyword”,“status”,“data”等等。Fields可以被索引(也就是可以被搜索到)并且和document存储,存储field可以在搜索结果中使用,比如你可能希望存储title这个field以便都所结果可以显示它

Forward index
一个陈列着在document中出现的每一个document和words的表,Whoosh存储的term vertors就是一种forward index

Indexing
检测在文本集中的documents并且把他们添加到反向索引的过程

Postings
反向索引列出的出现在corpus中出现的每一个单词,对于每个单词来说,和这个单词一起出现的documents以及伴随这的选择性的信息(例如出现的次数)。这写出现在列表中的东西,包含着document的数量以及人和的额外信息叫做postings。在Whoosh里面存储在postings里面的每个field的信息是可定制的

Resverse index
基本上就是列出了每个corpus里面的word,然后列出了每个与这个word相关的document的表,它可以更复杂(可以列出每个word出现在document中出现的次数以及每次出现的位置)但是这仅仅是他基本的工作方式

Schema
Whoosh在你开始indexing之前需要你列举索引的每一个field,Schema把你的field的名字和他们的元数据联系起来,比如postings的格式以及他们是否被存储

Term vector

在一个特定的document里面某个特定field的forward index,你可以指明在Schema中某个域必须存储term vector。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值