[improvement][corrector] Abstract the RuleSqlCorrector component. (#1748)

This commit is contained in:
lexluo09
2024-09-30 19:09:06 +08:00
committed by GitHub
parent 8693e7f8a7
commit 44d1cde34f
4 changed files with 29 additions and 7 deletions

View File

@@ -3,7 +3,6 @@ package com.tencent.supersonic.common.calcite;
import com.tencent.supersonic.common.pojo.enums.EngineType;
import lombok.extern.slf4j.Slf4j;
import org.apache.calcite.sql.parser.SqlParseException;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import java.util.Collections;

View File

@@ -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);
}
}
}

View File

@@ -13,9 +13,7 @@ com.tencent.supersonic.headless.chat.parser.SemanticParser=\
com.tencent.supersonic.headless.chat.parser.QueryTypeParser
com.tencent.supersonic.headless.chat.corrector.SemanticCorrector=\
com.tencent.supersonic.headless.chat.corrector.SchemaCorrector, \
com.tencent.supersonic.headless.chat.corrector.TimeCorrector, \
com.tencent.supersonic.headless.chat.corrector.GrammarCorrector
com.tencent.supersonic.headless.chat.corrector.RuleSqlCorrector
com.tencent.supersonic.headless.chat.knowledge.file.FileHandler=\
com.tencent.supersonic.headless.chat.knowledge.file.FileHandlerImpl

View File

@@ -13,9 +13,7 @@ com.tencent.supersonic.headless.chat.parser.SemanticParser=\
com.tencent.supersonic.headless.chat.parser.QueryTypeParser
com.tencent.supersonic.headless.chat.corrector.SemanticCorrector=\
com.tencent.supersonic.headless.chat.corrector.SchemaCorrector, \
com.tencent.supersonic.headless.chat.corrector.TimeCorrector, \
com.tencent.supersonic.headless.chat.corrector.GrammarCorrector
com.tencent.supersonic.headless.chat.corrector.RuleSqlCorrector
com.tencent.supersonic.headless.chat.knowledge.file.FileHandler=\
com.tencent.supersonic.headless.chat.knowledge.file.FileHandlerImpl