File size: 888 Bytes
dd6d0d3
 
 
 
 
 
 
 
3d599c8
dd6d0d3
 
2d91f26
 
 
 
 
 
 
 
 
 
 
dd6d0d3
 
 
 
2d91f26
 
dd6d0d3
 
 
 
 
 
 
 
 
 
 
 
 
3d599c8
dd6d0d3
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from pydantic import BaseModel
from typing import List, Optional

class SearchResult(BaseModel):
    rank: int
    doc_id: int
    url: str
    title: Optional[str]
    image_url: Optional[str]
    score: float

class DDGSResult(BaseModel):
    title: str
    href: str
    body: str

class DDGSImage(BaseModel):
    title: str
    image: str
    thumbnail: str
    url: str

class SearchResponse(BaseModel):
    query: str
    total_results: int
    results: List[SearchResult]
    ddgs_results: Optional[List[DDGSResult]] = []
    ddgs_images: Optional[List[DDGSImage]] = []

class CrawlRequest(BaseModel):
    url: Optional[str] = None

class StatsResponse(BaseModel):
    total_docs: int
    total_terms: int
    index_size: int

class DocumentResponse(BaseModel):
    id: int
    url: str
    title: Optional[str]
    image_url: Optional[str]
    plain_text: str
    crawled_at: str