Skip to content

Instantly share code, notes, and snippets.

@neelabalan
Created February 24, 2024 09:46
Show Gist options
  • Save neelabalan/bbb19b533642f52a11adda587c78bb57 to your computer and use it in GitHub Desktop.
Save neelabalan/bbb19b533642f52a11adda587c78bb57 to your computer and use it in GitHub Desktop.
import datetime
from pydantic import BaseModel
import sqlite3
db = sqlite3.connect("mydb")
class Document(BaseModel):
name: str
chunk: str
date: datetime.date
class Search(BaseModel):
query: str
max_date: datetime.date
min_date: datetime.date
def search(self):
SQL_QUERY = f"""
SELECT
name,
chunk,
date
FROM documents
WHERE
chunk MATCH '{self.query}'
AND create_date BETWEEN '{self.min_date}' AND '{self.max_date}'
"""
results = db.execute(SQL_QUERY)
return [
Document(name=result[0], chunk=result[1], date=result[2])
for result in results.fetchall()
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment