Document 类

Document 类表示包含可搜索内容的文档。

Document 在模块 google.appengine.api.search 中定义。

构造函数

Document 类的构造函数定义如下:

class Document(doc_id=None, fields=None, language='en', rank=None)

构造类 Document 的实例。

以下示例显示如何创建包含一组字段的文档,其中一些字段为纯文本格式,还有一个字段为 HTML 格式:

from google.appengine.api import search

search.Document(
    doc_id='documentId',
    fields=[search.TextField(name='subject', value='going for dinner'),
            search.HtmlField(name='body', value='<html>I found a place.</html>'),
            search.TextField(name='signature', value='brzydka pogoda', language='pl')],
    language='en')

参数

doc_id

文档标识符,用于标识文档的用户可读的 ASCII 字符串。不得包含空格字符,且不得以感叹号 (!) 开头。如果省略该参数,则搜索服务将提供标识符字符串。

在大多数情况下,您无需明确指定文档标识符。但是,指定自己的标识符对于使用其他存储机制(如 Blobstore 或 Google Storage)实施搜索非常有用。例如,对于 Blobstore,您可以将文档标识符设置为 BlobKey,以便将该文档与特定 blob 相关联。

fields

Field 对象的可迭代集合,表示文档的内容。

language

用于表示文档字段值所用语言的双字母 ISO 693-1 代码。

rank

文档的排名,值为整数,用于指定文档在搜索结果中返回的顺序。搜索结果首先返回较新的文档。如果未指定该参数,则排名将设置为自 2011 年 1 月 1 日 00:00:00 UTC 以来的秒数。请注意,在 FieldExpression 或 SortExpression 中使用 rank 时,引用格式为 _rank

结果值

Document 类的新实例。

异常

TypeError

参数类型无效或者传递了未知属性。

ValueError

参数赋值无效。

属性

Document 类的实例具有以下属性:

doc_id

文档标识符,用于标识文档的用户可读的 ASCII 字符串。

fields

文档字段的列表。

language

用于表示文档字段值所用语言的双字母 ISO 693-1 代码。

rank

文档的排名,值为整数,用于指定文档在搜索结果中返回的顺序。请注意,在 FieldExpression 或 SortExpression 中使用 rank 时,引用格式为 _rank。此外,如果创建的 SortExpression 将 rank 作为其中一个排序关键字,则 rank 只能按降序排列。