QueryOptions 클래스

QueryOptions 클래스는 애플리케이션의 요구사항에 따라 쿼리 결과를 후처리하는 옵션을 제공합니다. 이 클래스를 Query.options 인수의 options로 구성합니다.

Querygoogle.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으로 설정하면 number_found_accuracy <= 100인 모든 SearchResults 객체가 정확합니다.

cursor

다음 결과 세트를 가져올 위치를 설명하거나 SearchResults에서 다음 커서를 제공하는 커서입니다.

offset

offset은 검색결과에서 건너뛸 문서 수를 나타냅니다. 쿼리 커서 대신 사용할 수 있으며, 항상 결과에 임의로 액세스할 수 있습니다. offset은 cursor보다 인스턴스 시간 측면에서 더 비용이 많이 듭니다. cursor 또는 offset 중 하나를 사용할 수 있지만 둘 다 사용할 수는 없습니다. offset을 사용하면 ScoredDocument.cursor 또는 ScoredDocument.cursor에 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을 반환합니다.