feat: search functionality

This commit is contained in:
h
2026-05-29 22:50:21 +02:00
parent bcb94b6474
commit 6a5cde6ae4
4 changed files with 150 additions and 0 deletions
@@ -0,0 +1,32 @@
"""fts expression gin on messages and media
Revision ID: b7e3d9f1a4c6
Revises: a1d4f7c2e9b8
Create Date: 2026-05-29 22:30:00.000000
"""
from collections.abc import Sequence
from alembic import op
revision: str = "b7e3d9f1a4c6"
down_revision: str | None = "a1d4f7c2e9b8"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None
def upgrade() -> None:
op.execute(
"CREATE INDEX ix_messages_tsv ON messages USING gin "
"(to_tsvector('russian', coalesce(text, '')))"
)
op.execute(
"CREATE INDEX ix_media_tsv ON media USING gin "
"(to_tsvector('russian', coalesce(extracted_text, '')))"
)
def downgrade() -> None:
op.execute("DROP INDEX IF EXISTS ix_media_tsv")
op.execute("DROP INDEX IF EXISTS ix_messages_tsv")