LearningService
in package
Learning Service.
Learns from user behavior to improve search quality. Manages search logging, click tracking, and suggestion building.
Table of Contents
Methods
- __construct() : mixed
- cleanup() : array<string|int, mixed>
- Cleanup old data.
- getAnalytics() : array<string|int, mixed>
- Get search analytics summary.
- getCulture() : string
- Get current culture.
- getQuerySuggestions() : array<string|int, mixed>
- Get autocomplete suggestions.
- learnSynonyms() : void
- Learn synonyms from user behavior.
- logClick() : int
- Log a click on a search result.
- logSearch() : int
- Log a search query and its parsed result.
- setCulture() : self
- Set the culture for queries.
- updateDwellTime() : void
- Update dwell time for a click.
- updateSuggestions() : void
- Update suggestions from successful searches.
Methods
__construct()
public
__construct([string $culture = 'en' ]) : mixed
Parameters
- $culture : string = 'en'
cleanup()
Cleanup old data.
public
cleanup([int $keepDays = 90 ]) : array<string|int, mixed>
Parameters
- $keepDays : int = 90
-
Days to keep
Return values
array<string|int, mixed> —Counts of deleted records
getAnalytics()
Get search analytics summary.
public
getAnalytics([int|null $institutionId = null ][, int $days = 30 ]) : array<string|int, mixed>
Parameters
- $institutionId : int|null = null
-
Institution ID
- $days : int = 30
-
Number of days to analyze
Return values
array<string|int, mixed> —Analytics data
getCulture()
Get current culture.
public
getCulture() : string
Return values
stringgetQuerySuggestions()
Get autocomplete suggestions.
public
getQuerySuggestions(string $prefix[, int|null $institutionId = null ][, int $limit = 10 ]) : array<string|int, mixed>
Parameters
- $prefix : string
-
Search prefix
- $institutionId : int|null = null
-
Institution ID
- $limit : int = 10
-
Max suggestions
Return values
array<string|int, mixed> —Suggestions
learnSynonyms()
Learn synonyms from user behavior.
public
learnSynonyms([int|null $institutionId = null ][, float $minConfidence = 0.6 ]) : void
Identifies terms that lead to clicks on the same items.
Parameters
- $institutionId : int|null = null
-
Institution ID
- $minConfidence : float = 0.6
-
Minimum confidence to store
logClick()
Log a click on a search result.
public
logClick(int $searchLogId, int $itemId, int $position[, int|null $timeToClickMs = null ]) : int
Parameters
- $searchLogId : int
-
ID from heritage_discovery_log
- $itemId : int
-
ID of clicked item
- $position : int
-
Position in results (1-indexed)
- $timeToClickMs : int|null = null
-
Time from search to click
Return values
int —Click log ID
logSearch()
Log a search query and its parsed result.
public
logSearch(string $query, array<string|int, mixed> $parsedQuery, int $resultCount, int $durationMs[, int|null $institutionId = null ]) : int
Parameters
- $query : string
-
Original query
- $parsedQuery : array<string|int, mixed>
-
Parsed query from QueryUnderstandingService
- $resultCount : int
-
Number of results returned
- $durationMs : int
-
Search duration in milliseconds
- $institutionId : int|null = null
-
Institution ID
Return values
int —Log ID
setCulture()
Set the culture for queries.
public
setCulture(string $culture) : self
Parameters
- $culture : string
Return values
selfupdateDwellTime()
Update dwell time for a click.
public
updateDwellTime(int $clickId, int $dwellTimeSeconds) : void
Parameters
- $clickId : int
-
Click log ID
- $dwellTimeSeconds : int
-
Time spent on item page
updateSuggestions()
Update suggestions from successful searches.
public
updateSuggestions([int|null $institutionId = null ][, int $minSearches = 3 ][, int $minResults = 1 ]) : void
Runs periodically to rebuild suggestion index.
Parameters
- $institutionId : int|null = null
-
Institution ID
- $minSearches : int = 3
-
Minimum searches to qualify
- $minResults : int = 1
-
Minimum average results