org.models.search

Classes

Search

Provides collections with pagination, if they implement a few

SearchPostgres

Implements searching in postgres db based on the gin index

Module Contents

class org.models.search.Search(request: onegov.org.request.OrgRequest, query: str, page: int)[source]

Bases: onegov.core.collection.Pagination[onegov.core.collection._M]

Provides collections with pagination, if they implement a few documented properties and methods.

See onegov.ticket.TicketCollection for an example.

results_per_page = 10[source]
max_query_length = 100[source]
request[source]
query[source]
property available_documents: int[source]
property explain: bool[source]
property q: str[source]
__eq__(other: object) bool[source]

Returns True if the current and the other Pagination instance are equal. Used to find the current page in a list of pages.

property cached_subset: onegov.search.dsl.Response | None[source]
subset() onegov.search.dsl.Response | None[source]

Returns an SQLAlchemy query containing all records that should be considered for pagination.

property page_index: int[source]

Returns the current page index (starting at 0).

page_by_index(index: int) Search[onegov.core.collection._M][source]

Returns the page at the given index. A page here means an instance of the class inheriting from the Pagination base class.

property batch: onegov.search.dsl.Response | None[source]

Returns the elements on the current page.

property load_batch_results: list[onegov.search.dsl.Hit][source]

Load search results and sort events by latest occurrence.

This methods is a wrapper around batch.load(), which returns the actual search results from the query.

feeling_lucky() str | None[source]
property subset_count: int[source]

Returns the total number of elements this pagination represents.

suggestions() tuple[str, Ellipsis][source]
class org.models.search.SearchPostgres(request: onegov.org.request.OrgRequest, query: str, page: int)[source]

Bases: onegov.core.collection.Pagination[onegov.core.collection._M]

Implements searching in postgres db based on the gin index

results_per_page = 10[source]
request[source]
query[source]
page[source]
number_of_results: int | None = None[source]
property available_documents: int[source]
property available_results: int[source]
property q: str[source]

Returns the user’s query term from the search field of the UI

__eq__(other: object) bool[source]

Returns True if the current and the other Pagination instance are equal. Used to find the current page in a list of pages.

subset() list[onegov.search.Searchable] | None[source]

Returns an SQLAlchemy query containing all records that should be considered for pagination.

property page_index: int[source]

Returns the current page index (starting at 0).

page_by_index(index: int) SearchPostgres[onegov.core.collection._M][source]

Returns the page at the given index. A page here means an instance of the class inheriting from the Pagination base class.

property batch: list[onegov.search.Searchable][source]

Returns the elements on the current page.

property load_batch_results: list[Any][source]

Load search results and sort upcoming events by occurrence start date.

filter_user_level(query: Any) Any[source]

Filters search content according to user level

load_batch(query: sqlalchemy.orm.Query[onegov.search.search_index.SearchIndex]) list[onegov.search.Searchable][source]
feeling_lucky() str | None[source]
property subset_count: int[source]

Returns the total number of elements this pagination represents.

suggestions() tuple[str, Ellipsis][source]