mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
31 lines
993 B
Python
31 lines
993 B
Python
"""Router for search operations."""
|
|
|
|
from fastapi import APIRouter, Depends, BackgroundTasks
|
|
from typing import List
|
|
|
|
from loguru import logger
|
|
from basic_memory.services.search_service import SearchService
|
|
from basic_memory.schemas.search import SearchQuery, SearchResult
|
|
from basic_memory.deps import get_search_service
|
|
|
|
router = APIRouter(prefix="/search", tags=["search"])
|
|
|
|
@router.post("/", response_model=List[SearchResult])
|
|
async def search(
|
|
query: SearchQuery,
|
|
search_service: SearchService = Depends(get_search_service)
|
|
):
|
|
"""Search across all knowledge and documents."""
|
|
return await search_service.search(query)
|
|
|
|
@router.post("/reindex")
|
|
async def reindex(
|
|
background_tasks: BackgroundTasks,
|
|
search_service: SearchService = Depends(get_search_service)
|
|
):
|
|
"""Recreate and populate the search index."""
|
|
await search_service.reindex_all(background_tasks=background_tasks)
|
|
return {
|
|
"status": "ok",
|
|
"message": "Reindex initiated"
|
|
} |