feat: support score in keyword parsers
This commit is contained in:
parent
5404313199
commit
367a79850c
|
@ -223,6 +223,7 @@ class KeywordConfig(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class KeywordMatchConfig(BaseModel):
|
class KeywordMatchConfig(BaseModel):
|
||||||
|
score: int = 0
|
||||||
matches: List[KeywordConfig] = []
|
matches: List[KeywordConfig] = []
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,7 @@ class ParserResultStatus(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class ParserKeyword(BaseModel):
|
class ParserKeyword(BaseModel):
|
||||||
|
score: int = 0
|
||||||
keyword: List[str] = []
|
keyword: List[str] = []
|
||||||
weight: List[int] = []
|
weight: List[int] = []
|
||||||
|
|
||||||
|
|
|
@ -124,10 +124,11 @@ def fix_keyword(
|
||||||
for keyword, score in zip(keyword_config.keyword, keyword_config.weight):
|
for keyword, score in zip(keyword_config.keyword, keyword_config.weight):
|
||||||
score_groups.setdefault(score, []).append(keyword)
|
score_groups.setdefault(score, []).append(keyword)
|
||||||
keyword_parser.with_ = result.KeywordMatchConfig(
|
keyword_parser.with_ = result.KeywordMatchConfig(
|
||||||
|
score=keyword_config.score,
|
||||||
matches=[
|
matches=[
|
||||||
result.KeywordConfig(keywords=keywords, score=score)
|
result.KeywordConfig(keywords=keywords, score=score)
|
||||||
for score, keywords in score_groups.items()
|
for score, keywords in score_groups.items()
|
||||||
]
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user