mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-02 21:19:12 +00:00
Cache queries in /search controller using LRU cache
- Most concretely right now, it eliminates the re-rank latency hit on re-rank triggered on user hitting enter after re-rank is already done on user idle in the emacs interface - Improves search latency of (incremental) search
This commit is contained in:
@@ -3,6 +3,7 @@ import sys, json, yaml
|
||||
import time
|
||||
from typing import Optional
|
||||
from pathlib import Path
|
||||
from functools import lru_cache
|
||||
|
||||
# External Packages
|
||||
import uvicorn
|
||||
@@ -62,6 +63,7 @@ async def config_data(updated_config: FullConfig):
|
||||
return config
|
||||
|
||||
@app.get('/search')
|
||||
@lru_cache(maxsize=100)
|
||||
def search(q: str, n: Optional[int] = 5, t: Optional[SearchType] = None, r: Optional[bool] = False):
|
||||
if q is None or q == '':
|
||||
print(f'No query param (q) passed in API call to initiate search')
|
||||
|
||||
Reference in New Issue
Block a user