[improvement](chat) add TAG to Element and Nature, fix MetricTagQuery queryMode (#429)

This commit is contained in:
lexluo09
2023-11-27 17:51:54 +08:00
committed by GitHub
parent 41e585324d
commit f5a064aaad
4 changed files with 18 additions and 11 deletions

View File

@@ -41,6 +41,9 @@ public class ModelSchema {
case VALUE: case VALUE:
element = dimensionValues.stream().filter(e -> e.getId() == elementID).findFirst(); element = dimensionValues.stream().filter(e -> e.getId() == elementID).findFirst();
break; break;
case TAG:
element = tags.stream().filter(e -> e.getId() == elementID).findFirst();
break;
default: default:
} }

View File

@@ -1,31 +1,30 @@
package com.tencent.supersonic.chat.query.rule.metric; package com.tencent.supersonic.chat.query.rule.metric;
import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.ENTITY;
import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.ID;
import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.OptionType.REQUIRED;
import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.RequireNumberType.AT_LEAST;
import com.tencent.supersonic.auth.api.authentication.pojo.User; import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.pojo.response.QueryResult; import com.tencent.supersonic.chat.api.pojo.response.QueryResult;
import com.tencent.supersonic.common.pojo.enums.FilterType;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.Filter; import com.tencent.supersonic.common.pojo.Filter;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterType;
import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq; import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
import com.tencent.supersonic.semantic.api.query.request.QueryStructReq; import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.ID; import org.springframework.stereotype.Component;
import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.ENTITY;
import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.OptionType.REQUIRED;
import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.RequireNumberType.AT_LEAST;
@Slf4j @Slf4j
@Component @Component
public class MetricTagQuery extends MetricSemanticQuery { public class MetricTagQuery extends MetricSemanticQuery {
public static final String QUERY_MODE = "METRIC_ENTITY"; public static final String QUERY_MODE = "METRIC_TAG";
public MetricTagQuery() { public MetricTagQuery() {
super(); super();

View File

@@ -43,6 +43,9 @@ public class NatureHelper {
case VALUE: case VALUE:
result = SchemaElementType.VALUE; result = SchemaElementType.VALUE;
break; break;
case TAG:
result = SchemaElementType.TAG;
break;
default: default:
break; break;
} }

View File

@@ -20,6 +20,8 @@ public enum DictWordType {
NUMBER("m"), NUMBER("m"),
TAG("tag"),
SUFFIX("suffix"); SUFFIX("suffix");
public static final String NATURE_SPILT = "_"; public static final String NATURE_SPILT = "_";