SearchQueryBuilder
Построитель поисковых запросов. Поиск осуществляется по глобальному индексу, а также по локальным индексам сегментов, где сегмент - это некоторый кусок разбиения глобальной карты. Процедура выбора сегментов для поиска осуществляется следующими способами (по убыванию приоритета):
Hashable
public static func == (lhs: SearchQueryBuilder, rhs: SearchQueryBuilder) -> Bool
Returns a Boolean value indicating whether two values are equal.
This documentation comment was inherited from .
public func hash(into hasher: inout Hasher)
Hashes the essential components of this value by feeding them into the given hasher.
This documentation comment was inherited from .
hasher
Hasher
The hasher to use when combining the components of this instance.
public static func fromQueryText(
queryText: String
) -> SearchQueryBuilder
Начать построение текстового поискового запроса c указанным текстом.
public static func fromRubricIds(
rubricIds: [RubricId]
) -> SearchQueryBuilder
Начать построение поискового запроса на основе идентификаторов рубрик.
public static func fromQueryTextAndRubricIds(
queryText: String,
rubricIds: [RubricId]
) -> SearchQueryBuilder
Начать построение текстового поискового запроса с фильтрацией по идентификаторам рубрик.
public static func fromQuery(
query: SearchQuery
) -> SearchQueryBuilder
Начать построение запроса на основе запроса #query для изменения части параметров.
Исходный запрос #query остается без изменений
public static func fromOrgId(
orgId: OrgId
) -> SearchQueryBuilder
Начать построение поискового запроса c указанным идентификатором организации.
public static func fromBuildingId(
buildingId: BuildingId
) -> SearchQueryBuilder
Начать построение поискового запроса c указанным идентификатором здания.
public static func fromGeoPoint(
geoPoint: GeoPoint
) -> SearchQueryBuilder
Начать построение поискового запроса c указанным центром области поиска. Радиус по умолчанию равен 250. Конфликтует с методом set_spatial_restriction. Работает только с онлайн поиском.
public func setSpatialRestriction(
spatialRestriction: [GeoPoint]?
) -> SearchQueryBuilder
Задать ограничение области поиска в форме полигона. Первая и последняя точки полигона не обязаны совпадать. Конфликтует с методоми set_geo_point и from_geo_point.
по умолчанию ограничение отсутствует.
public func setAreaOfInterest(
rect: GeoRect?
) -> SearchQueryBuilder
Задать прямоугольную область интереса в географических координатах. Типичным значением является visible_rect из ICamera - объемлющий прямоугольник области просмотра.
public func setAllowedResultTypes(
allowedResultTypes: [ObjectType]
) -> SearchQueryBuilder
Задать типы объектов, разрешенные в результате запроса.
по умолчанию все, кроме Route
public func setPageSize(
pageSize: Int32
) -> SearchQueryBuilder
Задать предпочитаемое количество элементов на странице результатов. Допустимы значения из диапазона [1; 50]
по умолчанию 10
public func setDirectoryFilter(
filter: DirectoryFilter
) -> SearchQueryBuilder
Задать фильтрацию для поискового запроса.
public func setSortingType(
sortingType: SortingType
) -> SearchQueryBuilder
Задать сортировку для поискового запроса.
public func setGeoPoint(
geoPoint: GeoPoint
) -> SearchQueryBuilder
Задать центр для поискового запроса. Радиус по умолчанию равен 250 метров. Конфликтует с методом set_spatial_restriction.
public func setRadius(
radius: Meter
) -> SearchQueryBuilder
Задать радиус поиска в метрах. Работает в сочетании с установленным geo_point. Для поискового запроса в точке ограничение от 0 до 2000. Для остальных запросов ограничение от 0 до 50000.