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 字串,用於識別文件。不得包含空白字元,且開頭不得為驚嘆號 (!)。如果省略,搜尋服務會提供 ID 字串。

在大多數情況下,您不需要明確指定文件識別碼,但在實作其他儲存機制 (例如 Blobstore 或 Google Storage) 的搜尋功能時,指定自訂識別碼會很實用。以 Blobstore 為例,您可以將文件 ID 設為 BlobKey,建立該文件與特定 blob 的關聯。

欄位

可迭代的 Field 物件集合,代表文件內容。

language

雙字母格式的 ISO 693-1 語言編碼,用於表示文件欄位值使用的語言。

rank

文件的「排名」,以整數表示,用於指定在搜尋結果中的傳回順序。較新的文件會較先傳回。如果未指定,系統會將排名設為自 2011 年 1 月 1 日 00:00:00 世界標準時間起的秒數。請注意,在 FieldExpression 或 SortExpression 中使用排名時,會以 _rank 表示。

結果值

Document 類別的新例項。

例外狀況

TypeError

參數有無效的類型,或傳送了未知的屬性。

ValueError

參數含有無效的值。

屬性

Document 類別的執行個體具有下列屬性:

doc_id

「文件識別碼」,為使用者可判讀的 ASCII 字串,用於識別文件。

欄位

文件的欄位清單。

language

雙字母格式的 ISO 693-1 語言編碼,用於表示文件欄位值使用的語言。

rank

文件的排名,也就是在搜尋結果中傳回的順序,以整數表示。請注意,在 FieldExpression 或 SortExpression 中使用排名時,會以 _rank 表示。此外,如果您建立的 SortExpression 將 rank 納入排序索引鍵,則 rank 僅能以「遞減」方向排序。