Skip to content

XMLTV EPG Guide & Intelligent Search

Pluvira includes a high-performance electronic programme guide (EPG) aggregator capable of processing large XMLTV guide files and presenting an interactive visual timeline.


1. XMLTV Ingestion Pipeline

Ingest XMLTV guides from remote URLs or local files (.xml or compressed .xml.gz):

  • RAM Disk Processing: Guide extraction and parsing execute in RAM (/dev/shm/pluvira) to prevent flash storage wear.
  • Direct SQLite Ingestion: Program rows are written directly into pluvira_epg.db in Write-Ahead Logging (WAL) mode.
  • Turbo Engine (Pro): Native multithreaded streaming parser handles 500,000+ program rows in 2–5 seconds with a constant ~25 MB memory footprint.

2. Intelligent EPG Search Engine

The EPG viewer incorporates an advanced multi-criteria search engine featuring four configurable methodologies (SearchMethodsConfig):

Method A: Relevance Scoring

Assigns weighted relevance points based on match precision:

  • Exact Title Match: +100 points
  • Partial Title Match: +50 points
  • Token Word Match: +25 points
  • Description Match: +10 points

Method B: Stop-Words Tokenization

Strips multilingual stop-words (articles, prepositions, conjunctions) based on content language tags combined with user-defined stop-words.

Method C: Diacritics & Word Boundaries

Applies Unicode NFD normalization to remove accents/diacritics and enforces word-boundary (\b) matching to eliminate spurious substring hits.

Method D: Time-Aware Boost

  • Currently Live Programmes: Receive a +30 points boost.
  • Upcoming Programmes (next 3 hours): Receive a +15 points boost.

3. Timeline Grid & Visual Highlighting

  • Highlight Badges: Matching programmes in the EPG grid receive an amber-gold border and relevance badge.
  • Context Dimming: Non-matching program blocks are dimmed to emphasize search results.
  • Channel Cross-Referencing: Clicking any program displays detailed broadcast metadata, start/end countdowns, and instant watch actions.