AirLay backend

UserSearch extends Search
in package

Table of Contents

AVAILABLE_OBJECT_TYPE  = ['Features', 'Relations', 'Main']
EARTH_RADIUS  = 6371000
$config  : AirlayConfig
$dataSetId  : ObjectId|null
$dataSetType  : string|null
$filter  : string|null
$limit  : int
$objectType  : string
$restriction  : array<string|int, mixed>
$searchingEntity  : SearchingEntity
$skip  : int
$sortField  : string|null
$sortOrder  : string
$userEntity  : UserEntity
__construct()  : mixed
count()  : int
execute()  : array<string|int, mixed>
setDataSetId()  : void
setFilter()  : void
setLimit()  : void
setObjectType()  : void
setRestriction()  : void
setSkip()  : void
setSortField()  : void
setSortOrder()  : void
createErrorResponse()  : array<string|int, mixed>
createResultResponse()  : array<string|int, mixed>
buildFilter()  : array<string|int, mixed>
buildQuery()  : array<string|int, mixed>
buildQueryString()  : array<string|int, mixed>
buildSort()  : string|array<string|int, mixed>
generateFilter()  : array<string|int, mixed>
generateFilterForUserSearch()  : mixed
getCollection()  : FeaturesCollection|RelationsCollection
getEndRegex()  : Regex
getEntryRegex()  : Regex
getQueryFilter()  : array<string|int, mixed>
getSmartRegex()  : Regex
getStartRegex()  : Regex
getUserFilters()  : array<string|int, mixed>
runTextSearch()  : array<string|int, mixed>
runTextSearchCount()  : int
runUserSearch()  : array<string|int, mixed>
sanitizeQuery()  : array<string|int, mixed>

Constants

AVAILABLE_OBJECT_TYPE

private mixed AVAILABLE_OBJECT_TYPE = ['Features', 'Relations', 'Main']

EARTH_RADIUS

private mixed EARTH_RADIUS = 6371000

Properties

$objectType

private string $objectType = 'Features'

$restriction

private array<string|int, mixed> $restriction

Methods

count()

public count(array<string|int, mixed> $queries) : int
Parameters
$queries : array<string|int, mixed>
Tags
throws
UnknownContentTypeException
throws
AuthenticationException
throws
ClientResponseException
throws
NoNodeAvailableException
throws
ServerResponseException
Return values
int

execute()

public execute(array<string|int, string> $queries) : array<string|int, mixed>
Parameters
$queries : array<string|int, string>
Return values
array<string|int, mixed>

setDataSetId()

public setDataSetId(ObjectId|null $dataSetId) : void
Parameters
$dataSetId : ObjectId|null
Return values
void

setFilter()

public setFilter(string|null $filter) : void
Parameters
$filter : string|null
Return values
void

setLimit()

public setLimit(int $limit) : void
Parameters
$limit : int
Return values
void

setObjectType()

public setObjectType(string $objectType) : void
Parameters
$objectType : string
Return values
void

setRestriction()

public setRestriction(array<string|int, mixed> $restriction) : void
Parameters
$restriction : array<string|int, mixed>
Tags
throws
AirlayException
Return values
void

setSkip()

public setSkip(int $skip) : void
Parameters
$skip : int
Return values
void

setSortField()

public setSortField(string|null $sortField) : void
Parameters
$sortField : string|null
Return values
void

setSortOrder()

public setSortOrder(string $sortOrder) : void
Parameters
$sortOrder : string
Return values
void

createErrorResponse()

protected createErrorResponse(string $errorText) : array<string|int, mixed>
Parameters
$errorText : string
Return values
array<string|int, mixed>

createResultResponse()

protected createResultResponse(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>
Return values
array<string|int, mixed>

buildFilter()

private buildFilter(array<string|int, mixed> $filters) : array<string|int, mixed>
Parameters
$filters : array<string|int, mixed>
Return values
array<string|int, mixed>

buildQuery()

private buildQuery(array<string|int, mixed> $fields, array<string|int, mixed> $queries, array<string|int, mixed> $filters) : array<string|int, mixed>
Parameters
$fields : array<string|int, mixed>
$queries : array<string|int, mixed>
$filters : array<string|int, mixed>
Return values
array<string|int, mixed>

buildQueryString()

private buildQueryString(array<string|int, mixed> $fields, array<string|int, mixed> $queries) : array<string|int, mixed>
Parameters
$fields : array<string|int, mixed>
$queries : array<string|int, mixed>
Return values
array<string|int, mixed>

buildSort()

private buildSort(Client $client, string $indexName) : string|array<string|int, mixed>
Parameters
$client : Client
$indexName : string
Tags
throws
ClientResponseException
throws
ServerResponseException
throws
MissingParameterException
Return values
string|array<string|int, mixed>

generateFilter()

private generateFilter(array<string|int, mixed> $dataSet, array<string|int, mixed> $searchQuery, array<string|int, mixed> $userFilters) : array<string|int, mixed>
Parameters
$dataSet : array<string|int, mixed>
$searchQuery : array<string|int, mixed>
$userFilters : array<string|int, mixed>
Return values
array<string|int, mixed>

generateFilterForUserSearch()

private generateFilterForUserSearch(string $type, array<string|int, array<string|int, mixed>> $queries[, false $caseSensitive = false ]) : mixed
Parameters
$type : string
$queries : array<string|int, array<string|int, mixed>>
$caseSensitive : false = false
Return values
mixed

getEndRegex()

private getEndRegex(string $query, string $options) : Regex
Parameters
$query : string
$options : string
Return values
Regex

getEntryRegex()

private getEntryRegex(string $query, string $options) : Regex
Parameters
$query : string
$options : string
Return values
Regex

getQueryFilter()

private getQueryFilter(string $type, array<string|int, mixed> $queries[, bool $caseSensitive = false ]) : array<string|int, mixed>
Parameters
$type : string
$queries : array<string|int, mixed>
$caseSensitive : bool = false
Return values
array<string|int, mixed>

getSmartRegex()

private getSmartRegex(string $query, string $options) : Regex
Parameters
$query : string
$options : string
Return values
Regex

getStartRegex()

private getStartRegex(string $query, string $options) : Regex
Parameters
$query : string
$options : string
Return values
Regex

getUserFilters()

private getUserFilters(mixed $dataSetId) : array<string|int, mixed>
Parameters
$dataSetId : mixed
Return values
array<string|int, mixed>

runTextSearch()

private runTextSearch(RelationsCollection|FeaturesCollection $collection, array<string|int, mixed> $queries, array<string|int, mixed> $filters, array<string|int, mixed> $dataSet) : array<string|int, mixed>
Parameters
$collection : RelationsCollection|FeaturesCollection
$queries : array<string|int, mixed>
$filters : array<string|int, mixed>
$dataSet : array<string|int, mixed>
Tags
throws
UnknownContentTypeException
throws
AuthenticationException
throws
ClientResponseException
throws
NoNodeAvailableException
throws
ServerResponseException
Return values
array<string|int, mixed>

runTextSearchCount()

private runTextSearchCount(array<string|int, mixed> $queries, array<string|int, mixed> $filters, array<string|int, mixed> $dataSet) : int
Parameters
$queries : array<string|int, mixed>
$filters : array<string|int, mixed>
$dataSet : array<string|int, mixed>
Tags
throws
UnknownContentTypeException
throws
AuthenticationException
throws
ClientResponseException
throws
NoNodeAvailableException
throws
ServerResponseException
Return values
int

sanitizeQuery()

private sanitizeQuery(array<string|int, mixed> $queries) : array<string|int, mixed>
Parameters
$queries : array<string|int, mixed>
Return values
array<string|int, mixed>

Search results