mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 03:58:14 +00:00
[improvement][corrector] Abstract the RuleSqlCorrector component. (#1748)
This commit is contained in:
@@ -3,7 +3,6 @@ package com.tencent.supersonic.common.calcite;
|
|||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.calcite.sql.parser.SqlParseException;
|
import org.apache.calcite.sql.parser.SqlParseException;
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.tencent.supersonic.headless.chat.corrector;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo;
|
||||||
|
import com.tencent.supersonic.headless.chat.ChatQueryContext;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class RuleSqlCorrector extends BaseSemanticCorrector {
|
||||||
|
private List<BaseSemanticCorrector> correctors;
|
||||||
|
|
||||||
|
public RuleSqlCorrector() {
|
||||||
|
correctors = new ArrayList<>();
|
||||||
|
correctors.add(new SchemaCorrector());
|
||||||
|
correctors.add(new TimeCorrector());
|
||||||
|
correctors.add(new GrammarCorrector());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doCorrect(ChatQueryContext chatQueryContext, SemanticParseInfo semanticParseInfo) {
|
||||||
|
for (BaseSemanticCorrector corrector : correctors) {
|
||||||
|
corrector.correct(chatQueryContext, semanticParseInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,9 +13,7 @@ com.tencent.supersonic.headless.chat.parser.SemanticParser=\
|
|||||||
com.tencent.supersonic.headless.chat.parser.QueryTypeParser
|
com.tencent.supersonic.headless.chat.parser.QueryTypeParser
|
||||||
|
|
||||||
com.tencent.supersonic.headless.chat.corrector.SemanticCorrector=\
|
com.tencent.supersonic.headless.chat.corrector.SemanticCorrector=\
|
||||||
com.tencent.supersonic.headless.chat.corrector.SchemaCorrector, \
|
com.tencent.supersonic.headless.chat.corrector.RuleSqlCorrector
|
||||||
com.tencent.supersonic.headless.chat.corrector.TimeCorrector, \
|
|
||||||
com.tencent.supersonic.headless.chat.corrector.GrammarCorrector
|
|
||||||
|
|
||||||
com.tencent.supersonic.headless.chat.knowledge.file.FileHandler=\
|
com.tencent.supersonic.headless.chat.knowledge.file.FileHandler=\
|
||||||
com.tencent.supersonic.headless.chat.knowledge.file.FileHandlerImpl
|
com.tencent.supersonic.headless.chat.knowledge.file.FileHandlerImpl
|
||||||
|
|||||||
@@ -13,9 +13,7 @@ com.tencent.supersonic.headless.chat.parser.SemanticParser=\
|
|||||||
com.tencent.supersonic.headless.chat.parser.QueryTypeParser
|
com.tencent.supersonic.headless.chat.parser.QueryTypeParser
|
||||||
|
|
||||||
com.tencent.supersonic.headless.chat.corrector.SemanticCorrector=\
|
com.tencent.supersonic.headless.chat.corrector.SemanticCorrector=\
|
||||||
com.tencent.supersonic.headless.chat.corrector.SchemaCorrector, \
|
com.tencent.supersonic.headless.chat.corrector.RuleSqlCorrector
|
||||||
com.tencent.supersonic.headless.chat.corrector.TimeCorrector, \
|
|
||||||
com.tencent.supersonic.headless.chat.corrector.GrammarCorrector
|
|
||||||
|
|
||||||
com.tencent.supersonic.headless.chat.knowledge.file.FileHandler=\
|
com.tencent.supersonic.headless.chat.knowledge.file.FileHandler=\
|
||||||
com.tencent.supersonic.headless.chat.knowledge.file.FileHandlerImpl
|
com.tencent.supersonic.headless.chat.knowledge.file.FileHandlerImpl
|
||||||
|
|||||||
Reference in New Issue
Block a user