Coverage for src / qdrant_loader_mcp_server / search / engine / __init__.py: 92%
12 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-18 04:51 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-18 04:51 +0000
1"""
2Search Engine Package - Modular Search Architecture.
4This package provides a comprehensive search engine through modular components:
5- core: Core engine lifecycle and configuration management
6- search: Main search operations and query processing
7- topic_chain: Topic-driven search chain functionality
8- faceted: Faceted search and suggestion capabilities
9- intelligence: Cross-document intelligence and analysis
10- strategies: Search strategy selection and optimization
11"""
13from __future__ import annotations
15from typing import TYPE_CHECKING
17# Re-export the main SearchEngine class for backward compatibility
18from ..hybrid_search import HybridSearchEngine
19from .core import SearchEngine
21# Lazy re-exports for backward compatibility (only imported when accessed)
22if TYPE_CHECKING:
23 from qdrant_client import AsyncQdrantClient
25 AsyncOpenAI = None # type: ignore[assignment]
27__all__ = [
28 "SearchEngine",
29 "HybridSearchEngine",
30]
33def __getattr__(name: str):
34 """Lazy import for backward compatibility."""
35 if name == "AsyncQdrantClient":
36 from qdrant_client import AsyncQdrantClient
38 return AsyncQdrantClient
39 if name == "AsyncOpenAI":
40 # Return None as it was in core.py
41 return None
42 raise AttributeError(f"module {__name__!r} has no attribute {name!r}")