Source code for globus_sdk.services.search.data
from __future__ import annotations
import typing as t
from globus_sdk._missing import MISSING, MissingType
from globus_sdk._payload import GlobusPayload
[docs]
class SearchQueryV1(GlobusPayload):
"""
A specialized dict which has helpers for creating and modifying a Search
Query document.
:param q: The query string. Required unless filters are used.
:param limit: A limit on the number of results returned in a single page
:param offset: An offset into the set of all results for the query
:param advanced: Whether to enable (``True``) or not to enable (``False``) advanced
parsing of query strings. The default of ``False`` is robust and guarantees that
the query will not error with "bad query string" errors
:param filters: a list of filters to apply to the query
:param facets: a list of facets to apply to the query
:param post_facet_filters: a list of filters to apply after facet
results are returned
:param boosts: a list of boosts to apply to the query
:param sort: a list of fields to sort results
:param additional_fields: additional data to include in the query document
"""
def __init__(
self,
*,
q: str | MissingType = MISSING,
limit: int | MissingType = MISSING,
offset: int | MissingType = MISSING,
advanced: bool | MissingType = MISSING,
filters: list[dict[str, t.Any]] | MissingType = MISSING,
facets: list[dict[str, t.Any]] | MissingType = MISSING,
post_facet_filters: list[dict[str, t.Any]] | MissingType = MISSING,
boosts: list[dict[str, t.Any]] | MissingType = MISSING,
sort: list[dict[str, t.Any]] | MissingType = MISSING,
additional_fields: dict[str, t.Any] | None = None,
) -> None:
super().__init__()
self["@version"] = "query#1.0.0"
self["q"] = q
self["limit"] = limit
self["offset"] = offset
self["advanced"] = advanced
self["filters"] = filters
self["facets"] = facets
self["post_facet_filters"] = post_facet_filters
self["boosts"] = boosts
self["sort"] = sort
self.update(additional_fields or {})