Query 類別

Query 類別代表搜尋服務提出的查詢索引要求。

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

簡介

Query 類別可用於指定搜尋索引時所用的查詢字串及其他選項,例如排序順序、限制和游標。如要設定這些選項,需將 QueryOptions 類別執行個體化為 Query.options 參數。

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

from google.appengine.api import search

...
results = index.search(search.Query(
    # Specify the query string using the Search API's Query language.
    query_string='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.cursor 中指定,並自 SearchResults.cursor 擷取下一項要求的游標。這種方式能讓您從最近一次找到的文件開始繼續搜尋,如下所示:

...
results = index.search(
    search.Query(query_string='subject:first good',
          options=search.QueryOptions(cursor=results.cursor)))

建構函式

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

class Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)

指定某個查詢的參數,要求搜尋服務查詢該索引。

引數

query_string

根據索引中的文件進行比對的查詢。查詢是包含字詞的布林運算式。例如,job tag:"very important" sent < 2011-02-28 這項查詢會尋找符合以下條件的文件:任何欄位中包含 job 字詞、tag 欄位中包含 very important 片語,且 sent 日期在 2011 年 2 月 28 日之前。

options

按照搜尋結果後續處理的操作說明建立 QueryOptions 類別的執行個體。

enable_facet_discovery

用於探索文件所用關聯性最高且符合此項搜尋查詢的 Facet,並傳回這些 Facet。

return_facets

FacetRequest 的可疊代項目或 Facet 名稱 basestring,用於 隨結果一起傳回特定 Facet。

facet_options

FacetOption 說明 Facet 處理方式。

facet_refinements

FacetRefinement 物件的可疊代項目,或是 用於根據 Facet 值篩選搜尋結果的分類符記。 會合取不同 Facet 的分類結果並析取同一個 Facet 的分類結果。

結果值

新的 Query 類別。

例外

TypeError

query_string 不是字串或 options 不是 QueryOptions 物件時會發生此錯誤。

ValueError

無法剖析 query_string 時會發生此錯誤。

屬性

Query 類別具有以下屬性:

query_string

會傳回這項要求欲搜尋的查詢字串。

options

會傳回定義搜尋結果後續處理方式的 QueryOptions

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

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

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