QueryOptions 類別

QueryOptions 類別可根據應用程式的需求,提供後處理查詢結果的選項。您可在 Query.options 引數中將類別建構為 options

Query 是在 google.appengine.api.search 模組中定義。

簡介

QueryOptions 類別可針對特定查詢提供後處理結果的選項。選項包括能夠對結果進行排序、控制要傳回哪些文件欄位、產生欄位的程式碼片段,以及按複雜計分運算式進行運算和排序。

如要隨機存取搜尋結果的頁面,您可以使用位移:

from google.appengine.api import search
...
# get the first set of results
page_size = 10
results = index.search(search.Query(query_string='some stuff',
    options=search.QueryOptions(limit=page_size))

# calculate pages
pages = results.number_found / page_size

# user chooses page and hence an offset into results
next_page = ith * page_size

# get the search results for that page
results = index.search(search.Query(query_string='some stuff',
    options=search.QueryOptions(limit=page_size, offset=next_page))

例如,以下程式碼片段要求搜尋文件,搜尋條件是 first 出現在 subject 欄位,且 good 出現在任何欄位,最多傳回 20 份文件、針對下一個頁面的結果要求游標、針對下一個結果集傳回另一個游標、按遞減順序排序主旨、傳回作者、主旨和摘要欄位,以及欄位內容程式碼片段:

...
results = index.search(search.Query(
    query='subject:first good',
    options=search.QueryOptions(
        limit=20,
        cursor=search.Cursor(),
        sort_options=search.SortOptions(
            expressions=[
                search.SortExpression(expression='subject', default_value='')],
            limit=1000),
        returned_fields=['author', 'subject', 'summary'],
        snippeted_fields=['content'])))

建構函式

QueryOptions 類別的建構函式定義如下:

class QueryOptions(limit=20, number_found_accuracy=None, cursor=None, offset=None, sort_options=None, returned_fields=None, ids_only=False, snippeted_fields=None, returned_expressions=None)

指定定義搜尋查詢結果的選項。

引數

limit

在結果中要傳回的文件數量上限。

number_found_accuracy

SearchResults.number_found 的最低準確率要求。如果已經設定,至少會保持高達該數字的準確率。例如,設定為 100 時,number_found_accuracy <= 100 的任何 SearchResults 物件都是準確的。

cursor

說明可在何處取得下一個結果集的游標,或在 SearchResults 中提供後續游標。

offset

位移代表要在搜尋結果中略過的文件數量。這是使用查詢游標的替代選擇。位移可允許隨機存取結果。相較於游標,位移的成本較高 (就執行個體時數而言)。您可以選擇使用游標或位移,但不能同時使用兩者。使用位移表示不會在 ScoredDocument.cursorScoredDocument.cursor 中傳回任何游標。

sort_options

對搜尋結果指定多維排序的 SortOptions 物件。

returned_fields

要在搜尋結果中傳回的可疊代欄位名稱。

ids_only

僅傳回文件 ID,而不傳回任何欄位。

snippeted_fields

要在搜尋結果運算式中建立程式碼片段及傳回的可疊代欄位名稱。

returned_expressions

要在搜尋結果中評估及傳回的可疊代 FieldExpression。

結果值

QueryOptions 類別的新執行個體。

例外狀況

TypeError

如果已經傳送未知的 iterator_options 或 sort_options。

ValueError

如果 ids_onlyreturned_fields 兩者搭配使用。

屬性

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

limit

傳回要在結果中傳回的文件數量上限。

number_found_accuracy

傳回 SearchResults.number_found 的最低準確率要求。

cursor

傳回查詢的游標。

offset

傳回要在搜尋結果中略過的文件數量。

sort_options

傳回 SortOptions 物件。

returned_fields

傳回要在搜尋結果中傳回的可疊代欄位名稱。

ids_only

在搜尋結果中只傳回

snippeted_fields

傳回要在結果中建立程式碼片段及傳回的可疊代欄位名稱。

returned_expressions

傳回要在結果中傳回的可疊代 FieldExpression

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Python 2 適用的 App Engine 標準環境