Alpha Framework 4.0.0 API Documentation

SearchProviderTags
in package
implements SearchProviderInterface

Uses the Tag business oject to store searchable tags in the main application database.

Tags
since
1.2.3
author

John Collins dev@alphaframework.org

license

http://www.opensource.org/licenses/bsd-license.php The BSD License

copyright

Copyright (c) 2021, John Collins (founder of Alpha Framework). All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:

* Redistributions of source code must retain the above
  copyright notice, this list of conditions and the
  following disclaimer.
* Redistributions in binary form must reproduce the above
  copyright notice, this list of conditions and the
  following disclaimer in the documentation and/or other
  materials provided with the distribution.
* Neither the name of the Alpha Framework nor the names
  of its contributors may be used to endorse or promote
  products derived from this software without specific
  prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Table of Contents

Interfaces

SearchProviderInterface
A standard interface used for describing search engine implementations.

Properties

$logger  : Logger
Trace logger.
$numberFound  : int
The number of matches found for the current search.

Methods

__construct()  : mixed
constructor to set up the object.
addToCache()  : void
Add the tag search matches to the cache.
delete()  : void
Deletes the business object provided from the search engine index.
getNumberFound()  : int
Returns the number of matching objects found in the previous search carried out by this provider.
getRelated()  : array<string|int, mixed>
Gets a list of documents related to the business objects matching the object provided. An array of business objects will be returned (ordered by the search engine).
index()  : void
Adds/updates the business object provided to the search engine index.
search()  : array<string|int, mixed>
The main search function, you should provide the user's search query as-is and pass it to the search engine. An array of business objects will be returned (ordered by the search engine).
loadFromCache()  : array<string|int, mixed>
Load the tag search matches from the cache.

Properties

$numberFound

The number of matches found for the current search.

private int $numberFound = 0
Tags
since
1.2.3

Methods

__construct()

constructor to set up the object.

public __construct() : mixed
Tags
since
1.2.3

addToCache()

Add the tag search matches to the cache.

public addToCache(mixed $key, mixed $matches) : void
Parameters
$key : mixed
$matches : mixed
Tags
since
1.2.4

delete()

Deletes the business object provided from the search engine index.

public delete(mixed $sourceObject) : void
Parameters
$sourceObject : mixed

The object to delete from the search index.

getNumberFound()

Returns the number of matching objects found in the previous search carried out by this provider.

public getNumberFound() : int
Return values
int

getRelated()

Gets a list of documents related to the business objects matching the object provided. An array of business objects will be returned (ordered by the search engine).

public getRelated(mixed $sourceObject[, mixed $returnType = 'all' ][, mixed $start = 0 ][, mixed $limit = 10 ][, mixed $distinct = '' ]) : array<string|int, mixed>
Parameters
$sourceObject : mixed

The source object for comparison.

$returnType : mixed = 'all'

Use this filter to determine that only business objects of a certain class hould be returned (default is to return all classes indexed).

$start : mixed = 0

Start point for pagination.

$limit : mixed = 10

The maximum amount to return in the list (for pagination).

$distinct : mixed = ''

Related items will only be returned that have distinct values in this named field.

Return values
array<string|int, mixed>

index()

Adds/updates the business object provided to the search engine index.

public index(mixed $sourceObject) : void
Parameters
$sourceObject : mixed

The object to add to the search index. The sourceObject should already be stored in the database.

The main search function, you should provide the user's search query as-is and pass it to the search engine. An array of business objects will be returned (ordered by the search engine).

public search(mixed $query[, mixed $returnType = 'all' ][, mixed $start = 0 ][, mixed $limit = 10 ][, mixed $createdBy = 0 ]) : array<string|int, mixed>
Parameters
$query : mixed

The search query.

$returnType : mixed = 'all'

Use this filter to determine that only business objects of a certain class should be returned (default is to return all classes indexed).

$start : mixed = 0

Start point for pagination.

$limit : mixed = 10

The maximum amount to return in the list (for pagination).

$createdBy : mixed = 0

Optionally provide the creator ID to restrict search to Tags created by that user.

Return values
array<string|int, mixed>

loadFromCache()

Load the tag search matches from the cache.

private loadFromCache(mixed $key) : array<string|int, mixed>
Parameters
$key : mixed
Tags
since
1.2.4
Return values
array<string|int, mixed>

        
On this page

Search results