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