{% extends "base.html" %} {% block title %}Voxint — meaning search{% endblock %} {% block body %}

Meaning search

Find a passage by what it means, across every transcript. Results are ranked together by semantic closeness and word-for-word overlap; a "quoted phrase" is matched exactly and floated to the top.

{# Search-mode toggle (issue #121): mirrors the strip on /runs. "Exact" is the chronological keyword browse; "Meaning" (this page) is the ranked passage search. The query term carries across so switching modes keeps the operator's words. #} {% if page.state == "empty_query" %}

Type what you are looking for above. Meaning search reads the whole transcript corpus, so a phrase from memory finds the passage even when the words are not exact.

{% elif page.state == "off" %}

Semantic search is turned off. Turn it on under Settings, then let new runs index or run voxint embed backfill for the existing ones.

{% elif page.state == "unavailable" %}

Semantic search is unavailable on this instance: the embedding model weights are not installed, so queries cannot be embedded. Reinstall with the weights bundled to enable it.

{% elif page.state == "indexing" %}

Semantic search is on, but no transcripts are indexed yet. New runs are indexed as they finish; index the existing runs with voxint embed backfill.

{% elif not page.items %}

No passages match “{{ query }}”.

{% else %}
    {% for it in page.items %}
  1. {# jump_url deep-links the transcript at the passage start; the island scrolls and flashes the line (issue #121). #} {{ friendly_media_label(it.title, it.source_path) }} {% if it.speaker_label %}{{ it.speaker_label }}{% endif %} {{ format_duration(it.start_seconds) }}–{{ format_duration(it.end_seconds) }} {% if it.exact_quote %}exact quote{% endif %}
    {# snippet is server-escaped in meaning_query._preview with only our injected; transcript text itself is never trusted markup. #}

    {{ it.snippet }}

  2. {% endfor %}
{% endif %} {% endblock %}