SmartSearch
in package
Provides an API for advanced weighted
Tags
Table of Contents
Constants
- FACET_ANY = [self::FACET_MATCH, self::FACET_LINK, self::FACET_LITERAL, self::FACET_OBJECT, self::FACET_CONTINUOUS]
- FACET_CONTINUOUS = 'continuous'
- FACET_DISCRETE = [self::FACET_LITERAL, self::FACET_OBJECT]
- FACET_LINK = 'linkProperty'
- FACET_LITERAL = 'literal'
- FACET_MATCH = 'matchProperty'
- FACET_OBJECT = 'object'
- TEMPTABNAME = "_matches"
Properties
- $exactWeight : array<string, object>
- $facets : array<string|int, object>
- $langWeight : float
- $linkFacet : object
- $matchFacet : object
- $pdo : PDO
- $phrase : string
- $queryLog : AbstractLogger|null
- $repo : RepoDb
- $schema : Schema
Methods
- __construct() : mixed
- closeSearch() : void
- getInitialFacets() : array<string|int, mixed>
- getSearchFacets() : array<string, array<string, mixed>>
- getSearchPage() : Generator<string|int, object>
- search() : void
- setExactWeight() : self
- setFacets() : self
- setLangWeight() : self
- setQueryLog() : self
- getInitialFacetDiscrete() : array<string|int, mixed>
- getWeightsWith() : QueryPart
- linkNamedEntities() : bool
- postprocessFacets() : array<string|int, mixed>
Constants
FACET_ANY
public
mixed
FACET_ANY
= [self::FACET_MATCH, self::FACET_LINK, self::FACET_LITERAL, self::FACET_OBJECT, self::FACET_CONTINUOUS]
FACET_CONTINUOUS
public
mixed
FACET_CONTINUOUS
= 'continuous'
FACET_DISCRETE
public
mixed
FACET_DISCRETE
= [self::FACET_LITERAL, self::FACET_OBJECT]
FACET_LINK
public
mixed
FACET_LINK
= 'linkProperty'
FACET_LITERAL
public
mixed
FACET_LITERAL
= 'literal'
FACET_MATCH
public
mixed
FACET_MATCH
= 'matchProperty'
FACET_OBJECT
public
mixed
FACET_OBJECT
= 'object'
TEMPTABNAME
public
mixed
TEMPTABNAME
= "_matches"
Properties
$exactWeight
private
array<string, object>
$exactWeight
= 2.0
$facets
private
array<string|int, object>
$facets
= []
$langWeight
private
float
$langWeight
= 1.5
$linkFacet
private
object
$linkFacet
$matchFacet
private
object
$matchFacet
$pdo
private
PDO
$pdo
$phrase
private
string
$phrase
$queryLog
private
AbstractLogger|null
$queryLog
= null
$repo
private
RepoDb
$repo
$schema
private
Schema
$schema
Methods
__construct()
public
__construct(PDO $pdo, Schema $schema, string $baseUrl) : mixed
Parameters
- $pdo : PDO
- $schema : Schema
- $baseUrl : string
closeSearch()
public
closeSearch() : void
getInitialFacets()
public
getInitialFacets(string $prefLang[, string $cacheFile = '' ][, bool $force = false ]) : array<string|int, mixed>
Parameters
- $prefLang : string
- $cacheFile : string = ''
- $force : bool = false
Return values
array<string|int, mixed>getSearchFacets()
public
getSearchFacets([string $prefLang = '' ]) : array<string, array<string, mixed>>
Parameters
- $prefLang : string = ''
Return values
array<string, array<string, mixed>>getSearchPage()
public
getSearchPage(int $page, int $pageSize, SearchConfig $config, string $prefLang) : Generator<string|int, object>
Parameters
- $page : int
- $pageSize : int
- $config : SearchConfig
- $prefLang : string
Return values
Generator<string|int, object>search()
public
search(string $phrase[, string $language = '' ][, bool $inBinary = true ][, array<string|int, string> $allowedProperties = [] ][, array<string|int, SearchTerm> $searchTerms = [] ][, null|SearchTerm $spatialTerm = null ][, array<string|int, int> $parentIds = [] ][, int $matchesLimit = 10000 ]) : void
Parameters
- $phrase : string
- $language : string = ''
- $inBinary : bool = true
- $allowedProperties : array<string|int, string> = []
- $searchTerms : array<string|int, SearchTerm> = []
- $spatialTerm : null|SearchTerm = null
- $parentIds : array<string|int, int> = []
- $matchesLimit : int = 10000
setExactWeight()
public
setExactWeight(float $weight) : self
Parameters
- $weight : float
Return values
selfsetFacets()
public
setFacets(array<string|int, object> $facets[, float $defaultWeight = 1.0 ]) : self
Parameters
- $facets : array<string|int, object>
- $defaultWeight : float = 1.0
Return values
selfsetLangWeight()
public
setLangWeight(float $weight) : self
Parameters
- $weight : float
Return values
selfsetQueryLog()
public
setQueryLog(AbstractLogger $log) : self
Parameters
- $log : AbstractLogger
Return values
selfgetInitialFacetDiscrete()
private
getInitialFacetDiscrete(object $facet, string $prefLang) : array<string|int, mixed>
Parameters
- $facet : object
- $prefLang : string
Return values
array<string|int, mixed>getWeightsWith()
private
getWeightsWith(array<string, float> $weights, string $weightName[, string $valueType = 'text' ]) : QueryPart
Parameters
- $weights : array<string, float>
- $weightName : string
- $valueType : string = 'text'
Return values
QueryPartlinkNamedEntities()
private
linkNamedEntities() : bool
Return values
boolpostprocessFacets()
private
postprocessFacets(array<string|int, mixed> $facets, string $prefLang) : array<string|int, mixed>
Parameters
- $facets : array<string|int, mixed>
- $prefLang : string