mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 16:56:22 +02:00
perf: add missing index on chunks.document_id for faster search retrieval
This commit is contained in:
parent
6eabfe2396
commit
fffef4cb5e
2 changed files with 42 additions and 1 deletions
|
|
@ -0,0 +1,41 @@
|
|||
"""104_add_chunks_document_id_index
|
||||
|
||||
Revision ID: 104
|
||||
Revises: 103
|
||||
Create Date: 2026-03-09
|
||||
|
||||
Adds a B-tree index on chunks.document_id to speed up chunk lookups
|
||||
during hybrid search (both retrievers fetch chunks by document_id
|
||||
after RRF ranking selects the top documents).
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
from alembic import op
|
||||
|
||||
revision: str = "104"
|
||||
down_revision: str | None = "103"
|
||||
branch_labels: str | Sequence[str] | None = None
|
||||
depends_on: str | Sequence[str] | None = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.execute(
|
||||
"""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_indexes
|
||||
WHERE tablename = 'chunks' AND indexname = 'ix_chunks_document_id'
|
||||
) THEN
|
||||
CREATE INDEX ix_chunks_document_id ON chunks(document_id);
|
||||
END IF;
|
||||
END$$;
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DROP INDEX IF EXISTS ix_chunks_document_id")
|
||||
Loading…
Add table
Add a link
Reference in a new issue