Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions openrag/components/indexer/vectordb/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from typing import Dict, Optional

from sqlalchemy import (
JSON,
Boolean,
CheckConstraint,
Column,
Expand All @@ -17,6 +16,9 @@
UniqueConstraint,
create_engine,
)
from sqlalchemy.dialects.postgresql import (
JSONB
)
from sqlalchemy.orm import (
declarative_base,
relationship,
Expand Down Expand Up @@ -45,7 +47,7 @@ class File(Base):
partition_name = Column(
String, ForeignKey("partitions.partition"), nullable=False, index=True
) # Added index
file_metadata = Column(JSON, nullable=True, default={})
file_metadata = Column(JSONB, nullable=True, default={})

# relationship to the Partition object
partition = relationship("Partition", back_populates="files")
Expand All @@ -55,6 +57,8 @@ class File(Base):
UniqueConstraint("file_id", "partition_name", name="uix_file_id_partition"),
# Additional composite index for common query patterns (partition first for better selectivity)
Index("ix_partition_file", "partition_name", "file_id"),
# Metadata GIN index
Index("ix_files_metadata_gin", "file_metadata", postgresql_using="gin")
)

def to_dict(self):
Expand Down