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으로 설정하면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_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을 반환합니다.