Hybrid Search
From Dontopedia, the open, paraconsistent wiki. (Last updated 2026-06-09.)
Hybrid Search has 57 facts recorded in Dontopedia across 5 references, with 9 live disagreements.
Mostly:rdf:type(4), implements(2), http method(2)
From Dontopedia, the open, paraconsistent wiki. (Last updated 2026-06-09.)
Hybrid Search has 57 facts recorded in Dontopedia across 5 references, with 9 live disagreements.
Mostly:rdf:type(4), implements(2), http method(2)
httpMethodhasVariableinverseDependencycodeCompletenessexecutionOrderretrievalComponentscombinesexecutionFlowasyncFunctionDefinitionreturnsOnExceptionOther subjects in dontopedia point AT this entity as a value. These are inverse relationships — e.g. “X motherOf this subject” — and answer questions the forward facts can't. Grouped by predicate.
calledByCalled by(2)ex:call_sparse_retrievalex:sparse-retrievalappliedToApplied to(1)ex:cacheasyncFunctionAsync Function(1)ex:hybrid-search-endpointasyncFunctionDefinitionAsync Function Definition(1)ex:hybrid_searchcalledInCalled in(1)ex:jsonifydecoratesDecorates(1)ex:cachedefinesDefines(1)ex:hybrid-search-endpointThe long tail: predicates that appear too rarely to warrant their own section. Filter or scroll to find a specific one. Each row links to its source.
| Predicate | Value | Ref |
|---|---|---|
| Has Parameter | Query | [1] |
| Proceeds to Sparse Retrieval on Cache Miss | Call Sparse Retrieval | [1] |
| Checks Cache First | Cache Mechanism | [1] |
| Has Try Except Block | Exception Handling Structure | [1] |
| Try Block Contains | Call Sparse Retrieval | [1] |
| Returns on Cache Hit | Search Response | [1] |
| Calls | Call Sparse Retrieval | [1] |
| Is Defined in | Python Code Block | [5] |
| Code Location | API endpoint definition | [2] |
| Exception Handling Structure | two separate try-except blocks for sparse and dense retrievals | [2] |
| Code Structure | try-except blocks for retrieval calls | [2] |
| Authentication Requirement | JWT token validation via get_current_user | [2] |
| Fallback on Cache Miss | proceeds to retrieval | [2] |
| Decorator | @app.post | [2] |
| Error Handling | HTTPException handling for both retrievals | [2] |
| Caching Strategy | Redis cache with composite key | [2] |
| Parameter | query | [2] |
| Dependency | get_current_user | [2] |
| Response Model | SearchResponse | [2] |
| Endpoint Path | /api/v1/hybrid-search | [2] |
| Rdfs:label | Hybrid Search | [3] |
| Has Decorator | Route Decorator | [4] |
| Returns Json Structure | Result Key | [4] |
| Uses If Main Guard | true | [4] |
| Extracts Query Param | query | [4] |
| Has Cache Decorator | true | [4] |
| Has Route Decorator | true | [4] |
| Returns Json | true | [4] |
| Has Comment | Placeholder Comment | [4] |
| Has Placeholder | Hybrid Search Logic | [4] |
| Returns | Json Response | [4] |
| Extracts Query | Query | [4] |
| Uses Cache | Cache | [4] |
| Has Route | Hybrid Search | [4] |
Timeline axis is valid_time — when each source says the fact was true in the world, not when Dontopedia learned about it. Retracted rows are kept for provenance; coloured stripes indicate the context kind.
doc:beam/c740658d-0943-4bf1-a117-6bb882d2c4d3except requests.exceptions.HTTPError as e: raise HTTPException(status_code=response.status_code, detail=str(e)) except requests.exceptions.ConnectionError as e: raise HTTPException(status_code=503, detail=str(e)) …
doc:beam/7f9a7ec3-b530-4d3c-9d19-401eddf94330raise HTTPException(status_code=500, detail=str(e)) # Dependency to validate JWT token async def get_current_user(token: str = Depends(oauth2_scheme)): # Validate the token using Keycloak # Replace with actual validation lo…
doc:beam/587972a9-5e6f-49d1-8222-dffeeff81ee5class QueryRequest(BaseModel): query: str limit: int class QueryResponse(BaseModel): results: List[HybridResult] total_results: int @app.route('/query', methods=['POST']) def query(): query = QueryRequest(**request.jso…
doc:beam/531bc973-46f1-4a9a-b8fd-f4178c84c36b```python import aiohttp import asyncio async def fetch(session, url): async with session.get(url) as response: return await response.json() async def main(): async with aiohttp.ClientSession() as session: tasks = …
doc:beam/805f1f64-381b-4b25-8a62-a8d574bf54cfImplement rate limiting to prevent abuse and ensure that the endpoint can handle 600 req/sec throughput. ```python from fastapi_limiter import FastAPILimiter from fastapi_limiter.depends import RateLimiter @app.on_event("startup") async d…
Dontopedia is in a read-only public launch. Follow the references and disputed branches now; contributions will open after durable identity and moderation are in place.