(improvement)(chat) Support semantic understanding, optimize the overall code of the mapper. (#321)

This commit is contained in:
lexluo09
2023-11-05 13:14:07 +08:00
committed by GitHub
parent 2fe56e7462
commit 910384d17f
25 changed files with 716 additions and 375 deletions

View File

@@ -1,18 +1,28 @@
package com.tencent.supersonic.common.util.embedding;
import com.tencent.supersonic.common.pojo.enums.DictWordType;
import lombok.Data;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
@Data
public class Retrieval {
private Long id;
protected String id;
private double distance;
protected double distance;
private String query;
protected String query;
private Map<String, String> metadata;
protected Map<String, String> metadata;
public static Long getLongId(String id) {
if (StringUtils.isBlank(id)) {
return null;
}
String[] split = id.split(DictWordType.NATURE_SPILT);
return Long.parseLong(split[0]);
}
}

View File

@@ -264,7 +264,8 @@ class SqlParserAddHelperTest {
+ "GROUP BY department ORDER BY count(DISTINCT uv) DESC LIMIT 10",
replaceSql);
sql = "select department, count(DISTINCT uv) from t_1 where sys_imp_date = '2023-09-11' and count(DISTINCT uv) >1 "
sql = "select department, count(DISTINCT uv) from t_1 where sys_imp_date = '2023-09-11'"
+ " and count(DISTINCT uv) >1 "
+ "GROUP BY department order by count(DISTINCT uv) desc limit 10";
replaceSql = SqlParserAddHelper.addAggregateToField(sql, filedNameToAggregate);
replaceSql = SqlParserAddHelper.addGroupBy(replaceSql, groupByFields);
@@ -290,7 +291,8 @@ class SqlParserAddHelperTest {
replaceSql = SqlParserAddHelper.addGroupBy(replaceSql, groupByFields);
Assert.assertEquals(
"SELECT department, count(DISTINCT uv) FROM t_1 WHERE sys_imp_date = '2023-09-11' AND count(DISTINCT uv) > 1 "
"SELECT department, count(DISTINCT uv) FROM t_1 WHERE sys_imp_date = "
+ "'2023-09-11' AND count(DISTINCT uv) > 1 "
+ "AND department = 'HR' GROUP BY department ORDER BY count(DISTINCT uv) DESC LIMIT 10",
replaceSql);
@@ -300,8 +302,10 @@ class SqlParserAddHelperTest {
replaceSql = SqlParserAddHelper.addGroupBy(replaceSql, groupByFields);
Assert.assertEquals(
"SELECT department, count(DISTINCT uv) FROM t_1 WHERE (count(DISTINCT uv) > 1 AND department = 'HR') AND "
+ "sys_imp_date = '2023-09-11' GROUP BY department ORDER BY count(DISTINCT uv) DESC LIMIT 10",
"SELECT department, count(DISTINCT uv) FROM t_1 WHERE (count(DISTINCT uv) > "
+ "1 AND department = 'HR') AND "
+ "sys_imp_date = '2023-09-11' GROUP BY department ORDER BY "
+ "count(DISTINCT uv) DESC LIMIT 10",
replaceSql);
sql = "select department, count(DISTINCT uv) as uv from t_1 where sys_imp_date = '2023-09-11' GROUP BY "