File size: 656 Bytes
9433533
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from typing import Any
from dataclasses import dataclass, field


@dataclass
class ElasticSourceConfig:
    index_name: str
    semantic_fields: tuple[str,...] = field(default_factory=tuple)
    text_fields: tuple[str,...] | None = field(default_factory=tuple)
    highlight_fields: tuple[str,...] | None = field(default_factory=tuple)
    excluded_fields: tuple[str,...] | None = field(default_factory=tuple)


@dataclass
class ElasticHitsResult:
    """Dataclass for Elasticsearch hits results
    """
    index: str
    id: Any
    score: float
    source: dict[str, Any]
    inner_hits: dict[str, Any] | None
    highlight: dict[str, list[str]] | None