formats 模块

此模块中的类对字段的发布信息进行编码和解码。字段格式实质上决定了一个术语每次出现时存储的信息。

基类

class whoosh.formats.Format(field_boost=1.0, **options)

表示字段或向量的存储格式的抽象基类。格式化对象负责写入和读取字段的低级表示。它控制要存储的关于索引字段的信息种类/级别。

参数

field_boost -- 一个恒定的提升因子,用于缩放到与此字段中的术语匹配的所有查询的分数。

decode_as(astype, valuestring)

将编码的值字符串解释为“astype”,其中“astype”例如“frequency”或“positions”。此对象必须具有相应的解码方法。

decoder(name)

返回将值解释为“name”的绑定方法,其中“name”例如“frequency”或“positions”。此对象必须具有相应的格式。解码方法。

supports(name)

如果此格式支持将其发布值解释为“name”(例如“frequency”或“positions”),则返回true。

word_values(value, analyzer, **kwargs)

获取要索引的文本值,并生成一系列(“token text”、frequency、weight、valuestring)元组,其中frequency是值中出现“token text”的次数,weight是权重(在没有每项提升的情况下,浮点数通常等于频率),valuestring是标记的特定字段发布值。例如,在频率格式中,值字符串将与频率相同;在位置格式中,值字符串将对出现“tokentext”的标记位置列表进行编码。

参数
  • value -- 要索引的Unicode文本。

  • analyzer -- 用于处理文本的分析器。

格式

class whoosh.formats.Existence(field_boost=1.0, **options)

Only indexes whether a given term occurred in a given document; it does not store frequencies or positions. 这对于应可搜索但不可记分的字段(如文件路径)很有用。

支持:频率、重量(始终报告频率=1)。

class whoosh.formats.Frequency(field_boost=1.0, boost_as_freq=False, **options)

存储每次发布的频率信息。

支持:频率,重量。

参数

field_boost -- 一个恒定的提升因子,用于缩放到与此字段中的术语匹配的所有查询的分数。

class whoosh.formats.Positions(field_boost=1.0, **options)

在每篇文章中存储位置信息,以允许短语搜索和“接近”查询。

支持:频率、重量、位置、位置提升(总是报告位置提升=1.0)。

参数

field_boost -- 一个恒定的提升因子,用于缩放到与此字段中的术语匹配的所有查询的分数。

class whoosh.formats.Characters(field_boost=1.0, **options)

存储每次发布的令牌位置和字符开始和结束信息。

支持:频率,重量,位置,位置提升(总是报告位置提升=1.0),字符。

参数

field_boost -- 一个恒定的提升因子,用于缩放到与此字段中的术语匹配的所有查询的分数。

class whoosh.formats.PositionBoosts(field_boost=1.0, **options)

在每篇文章中存储位置和每个位置提升信息的格式。

支持:频率,重量,位置,位置提升。

参数

field_boost -- 一个恒定的提升因子,用于缩放到与此字段中的术语匹配的所有查询的分数。

class whoosh.formats.CharacterBoosts(field_boost=1.0, **options)

在每篇文章中存储位置、字符开始和结束以及每个位置提升信息的格式。

支持:频率、重量、位置、位置提升、字符、字符提升。

参数

field_boost -- 一个恒定的提升因子,用于缩放到与此字段中的术语匹配的所有查询的分数。