Source code for kerb.retrieval.search

"""Search methods for retrieval.

This module provides keyword, semantic, and hybrid search implementations.
"""

import math
from collections import Counter
from typing import TYPE_CHECKING, List, Optional, Union

from kerb.core.types import Document

from .structures import HybridSearchConfig, SearchResult

if TYPE_CHECKING:
    from kerb.core.enums import FusionMethod