Initial commit
This commit is contained in:
21
folkugat_web/model/search.py
Normal file
21
folkugat_web/model/search.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import dataclasses
|
||||
|
||||
|
||||
@dataclasses.dataclass(order=True)
|
||||
class SearchMatch:
|
||||
distance: float
|
||||
ngram: str
|
||||
|
||||
@classmethod
|
||||
def combine_matches(cls, matches):
|
||||
ngrams, distances = zip(*((match.ngram, match.distance) for match in matches))
|
||||
return cls(
|
||||
ngram=', '.join(ngrams),
|
||||
distance=sum(distances)/len(distances)
|
||||
)
|
||||
|
||||
@dataclasses.dataclass
|
||||
class QueryResult:
|
||||
id: int
|
||||
distance: float
|
||||
ngram: str
|
||||
Reference in New Issue
Block a user