DiscoverController
in package
Discover Controller.
Handles API requests for the discovery/search functionality. Called by Symfony actions in the plugin.
Table of Contents
Methods
- __construct() : mixed
- analytics() : array<string|int, mixed>
- GET /heritage/api/analytics
- autocomplete() : array<string|int, mixed>
- GET /heritage/api/autocomplete
- getCulture() : string
- Get current culture.
- logClick() : array<string|int, mixed>
- POST /heritage/api/click
- search() : array<string|int, mixed>
- POST /heritage/api/discover
- setCulture() : self
- Set the culture for queries.
- updateDwellTime() : array<string|int, mixed>
- POST /heritage/api/dwell
- validateParams() : array<string|int, mixed>
- Validate search parameters.
Methods
__construct()
public
__construct([string $culture = 'en' ]) : mixed
Parameters
- $culture : string = 'en'
analytics()
GET /heritage/api/analytics
public
analytics([int|null $institutionId = null ][, int $days = 30 ]) : array<string|int, mixed>
Get search analytics summary.
Parameters
- $institutionId : int|null = null
-
Institution ID
- $days : int = 30
-
Number of days to analyze
Return values
array<string|int, mixed>autocomplete()
GET /heritage/api/autocomplete
public
autocomplete(string $query[, int|null $institutionId = null ][, int $limit = 10 ]) : array<string|int, mixed>
Autocomplete suggestions.
Parameters
- $query : string
- $institutionId : int|null = null
- $limit : int = 10
Return values
array<string|int, mixed>getCulture()
Get current culture.
public
getCulture() : string
Return values
stringlogClick()
POST /heritage/api/click
public
logClick(array<string|int, mixed> $params) : array<string|int, mixed>
Log a click on a search result for learning.
Parameters
- $params : array<string|int, mixed>
-
Click parameters:
- search_id: int - Search log ID
- item_id: int - Clicked item ID
- position: int - Position in results (1-indexed)
- time_to_click: int|null - Time to click in ms
Return values
array<string|int, mixed>search()
POST /heritage/api/discover
public
search(array<string|int, mixed> $params) : array<string|int, mixed>
Main search endpoint.
Parameters
- $params : array<string|int, mixed>
-
Search parameters:
- query: string - Natural language query
- filters: array - Applied filters
- page: int - Page number (default 1)
- limit: int - Results per page (default 20)
- institution_id: int|null - Institution filter
- culture: string - Language (default 'en')
Return values
array<string|int, mixed>setCulture()
Set the culture for queries.
public
setCulture(string $culture) : self
Parameters
- $culture : string
Return values
selfupdateDwellTime()
POST /heritage/api/dwell
public
updateDwellTime(array<string|int, mixed> $params) : array<string|int, mixed>
Update dwell time for a click.
Parameters
- $params : array<string|int, mixed>
-
:
- click_id: int - Click log ID
- dwell_time: int - Dwell time in seconds
Return values
array<string|int, mixed>validateParams()
Validate search parameters.
public
validateParams(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>