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))
舉例來說,下列程式碼片段會要求搜尋 subject 欄位中出現 first 且任何欄位中出現 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,則任何- SearchResults物件只要- number_found_accuracy<= 100 就會正確。
- cursor
- 說明可在何處取得下一個結果集的游標,或在 SearchResults 中提供後續游標。 
- offset
- 位移代表要在搜尋結果中略過的文件數量。這是使用查詢游標的替代選擇。位移可允許隨機存取結果。相較於游標,位移的成本較高 (就執行個體時數而言)。您可以選擇使用游標或位移,但不能同時使用兩者。使用位移值表示在 - ScoredDocument.cursor或- ScoredDocument.cursor中不會傳回游標。
- sort_options
- 對搜尋結果指定多維排序的 - SortOptions物件。
- returned_fields
- 要在搜尋結果中傳回的可疊代欄位名稱。 
- ids_only
- 僅傳回文件 ID,而不傳回任何欄位。 
- snippeted_fields
- 要在搜尋結果運算式中建立程式碼片段及傳回的可疊代欄位名稱。 
- returned_expressions
- 要在搜尋結果中評估及傳回的可疊代 FieldExpression。 
 結果值 - QueryOptions類別的新例項。
 例外狀況 - TypeError
- 如果已經傳送未知的 iterator_options 或 sort_options。 
- ValueError
- 如果 - ids_only和- returned_fields一起使用。
 
屬性
Query 類別的執行個體具有下列屬性:
- limit
- 傳回要在結果中傳回的文件數量上限。 
- number_found_accuracy
- 傳回 SearchResults.number_found 的最低準確率要求。 
- cursor
- 傳回查詢的游標。 
- offset
- 傳回要在搜尋結果中略過的文件數量。 
- sort_options
- 傳回 SortOptions 物件。 
- returned_fields
- 傳回要在搜尋結果中傳回的可疊代欄位名稱。 
- ids_only
- 只會在搜尋結果中傳回 - snippeted_fields
- 傳回要在結果中建立程式碼片段及傳回的可疊代欄位名稱。 
- returned_expressions
- 傳回要在結果中傳回的可疊代 FieldExpression。