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):
 | 
			
		||||
    score: int = 0
 | 
			
		||||
    matches: List[KeywordConfig] = []
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,6 +67,7 @@ class ParserResultStatus(BaseModel):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
class ParserKeyword(BaseModel):
 | 
			
		||||
    score: int = 0
 | 
			
		||||
    keyword: List[str] = []
 | 
			
		||||
    weight: List[int] = []
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,10 +124,11 @@ def fix_keyword(
 | 
			
		|||
    for keyword, score in zip(keyword_config.keyword, keyword_config.weight):
 | 
			
		||||
        score_groups.setdefault(score, []).append(keyword)
 | 
			
		||||
    keyword_parser.with_ = result.KeywordMatchConfig(
 | 
			
		||||
        score=keyword_config.score,
 | 
			
		||||
        matches=[
 | 
			
		||||
            result.KeywordConfig(keywords=keywords, score=score)
 | 
			
		||||
            for score, keywords in score_groups.items()
 | 
			
		||||
        ]
 | 
			
		||||
        ],
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user