mirror of
https://github.com/OpenSPG/openspg.git
synced 2025-06-27 03:20:10 +00:00
fix(cloudext): fix elasticsearch mapping for date type (#136)
This commit is contained in:
parent
258b0e7dfb
commit
c2963a6a91
@ -41,7 +41,8 @@ public class EsMapping extends BaseValObj {
|
||||
|
||||
Map<String, PropertyConfig> properties = new HashMap<>();
|
||||
for (IdxField idxField : idxMapping.getIdxFields()) {
|
||||
properties.put(idxField.getName(), new PropertyConfig("text"));
|
||||
properties.put(
|
||||
idxField.getName(), new PropertyConfig(idxField.getBasicType().name().toLowerCase()));
|
||||
}
|
||||
return new EsMapping(properties);
|
||||
}
|
||||
|
@ -22,6 +22,8 @@ import com.antgroup.openspg.cloudext.interfaces.searchengine.model.idx.schema.Id
|
||||
import com.antgroup.openspg.core.schema.model.SPGSchema;
|
||||
import com.antgroup.openspg.core.schema.model.alter.AlterOperationEnum;
|
||||
import com.antgroup.openspg.core.schema.model.type.BaseSPGType;
|
||||
import com.antgroup.openspg.core.schema.model.type.BasicTypeEnum;
|
||||
import com.antgroup.openspg.core.schema.model.type.SPGTypeRef;
|
||||
import com.google.common.collect.Lists;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@ -124,7 +126,19 @@ public class SPGSchema2IdxServiceImpl implements SPGSchema2IdxService {
|
||||
}
|
||||
|
||||
private IdxSchema toIndexSchema(BaseSPGType spgType) {
|
||||
// es支持动态schema,这里不传入mapping,由es自己判断
|
||||
return new IdxSchema(spgType.getName(), null);
|
||||
IdxMapping idxMapping =
|
||||
new IdxMapping(
|
||||
spgType.getProperties().stream()
|
||||
.map(x -> new IdxField(x.getName(), toBasicType(x.getObjectTypeRef())))
|
||||
.collect(Collectors.toList()));
|
||||
return new IdxSchema(spgType.getName(), idxMapping);
|
||||
}
|
||||
|
||||
private BasicTypeEnum toBasicType(SPGTypeRef spgTypeRef) {
|
||||
if (spgTypeRef.isBasicType()) {
|
||||
return BasicTypeEnum.from(spgTypeRef.getName());
|
||||
} else {
|
||||
return BasicTypeEnum.TEXT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ package com.antgroup.openspg.cloudext.interfaces.searchengine.impl
|
||||
import com.antgroup.openspg.cloudext.interfaces.searchengine.BaseIdxSearchEngineClient
|
||||
import com.antgroup.openspg.cloudext.interfaces.searchengine.adapter.schema.SPGSchema2IdxService
|
||||
import com.antgroup.openspg.cloudext.interfaces.searchengine.adapter.schema.impl.SPGSchema2IdxServiceImpl
|
||||
import com.antgroup.openspg.cloudext.interfaces.searchengine.model.idx.schema.IdxField
|
||||
import com.antgroup.openspg.cloudext.interfaces.searchengine.model.idx.schema.IdxMapping
|
||||
import com.antgroup.openspg.cloudext.interfaces.searchengine.model.idx.schema.IdxSchema
|
||||
import com.antgroup.openspg.common.util.StringUtils
|
||||
@ -27,13 +28,7 @@ import com.antgroup.openspg.core.schema.model.identifier.PredicateIdentifier
|
||||
import com.antgroup.openspg.core.schema.model.identifier.SPGTypeIdentifier
|
||||
import com.antgroup.openspg.core.schema.model.predicate.Property
|
||||
import com.antgroup.openspg.core.schema.model.predicate.PropertyAdvancedConfig
|
||||
import com.antgroup.openspg.core.schema.model.type.BaseSPGType
|
||||
import com.antgroup.openspg.core.schema.model.type.EntityType
|
||||
import com.antgroup.openspg.core.schema.model.type.ParentTypeInfo
|
||||
import com.antgroup.openspg.core.schema.model.type.SPGTypeAdvancedConfig
|
||||
import com.antgroup.openspg.core.schema.model.type.SPGTypeEnum
|
||||
import com.antgroup.openspg.core.schema.model.type.SPGTypeRef
|
||||
import com.antgroup.openspg.schema.model.type.*
|
||||
import com.antgroup.openspg.core.schema.model.type.*
|
||||
import com.google.common.collect.Lists
|
||||
import com.google.common.collect.Sets
|
||||
import spock.lang.Specification
|
||||
@ -156,7 +151,7 @@ class SPGSchema2IdxServiceTest extends Specification {
|
||||
{
|
||||
add(new IdxSchema(
|
||||
SPG_TYPE_UNIQUE_NAME,
|
||||
new IdxMapping(Lists.newArrayList())
|
||||
new IdxMapping(Lists.newArrayList(new IdxField("id", BasicTypeEnum.TEXT)))
|
||||
))
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user