mirror of
https://github.com/datahub-project/datahub.git
synced 2025-06-27 05:03:31 +00:00
feat:(entity-registry): add ability to search for float and double (#10324)
This commit is contained in:
parent
e64229b036
commit
437b7a162f
@ -153,10 +153,12 @@ public class SearchableAnnotation {
|
||||
private static FieldType getDefaultFieldType(DataSchema.Type schemaDataType) {
|
||||
switch (schemaDataType) {
|
||||
case INT:
|
||||
case FLOAT:
|
||||
return FieldType.COUNT;
|
||||
case MAP:
|
||||
return FieldType.KEYWORD;
|
||||
case FLOAT:
|
||||
case DOUBLE:
|
||||
return FieldType.DOUBLE;
|
||||
default:
|
||||
return FieldType.TEXT;
|
||||
}
|
||||
|
@ -98,10 +98,12 @@ public class SearchableRefAnnotation {
|
||||
DataSchema.Type schemaDataType) {
|
||||
switch (schemaDataType) {
|
||||
case INT:
|
||||
case FLOAT:
|
||||
return SearchableAnnotation.FieldType.COUNT;
|
||||
case MAP:
|
||||
return SearchableAnnotation.FieldType.KEYWORD;
|
||||
case FLOAT:
|
||||
case DOUBLE:
|
||||
return SearchableAnnotation.FieldType.DOUBLE;
|
||||
default:
|
||||
return SearchableAnnotation.FieldType.TEXT;
|
||||
}
|
||||
|
@ -314,6 +314,10 @@ public class SearchDocumentTransformer {
|
||||
return Optional.of(JsonNodeFactory.instance.numberNode((Integer) fieldValue));
|
||||
case LONG:
|
||||
return Optional.of(JsonNodeFactory.instance.numberNode((Long) fieldValue));
|
||||
case FLOAT:
|
||||
return Optional.of(JsonNodeFactory.instance.numberNode((Float) fieldValue));
|
||||
case DOUBLE:
|
||||
return Optional.of(JsonNodeFactory.instance.numberNode((Double) fieldValue));
|
||||
// By default run toString
|
||||
default:
|
||||
String value = fieldValue.toString();
|
||||
|
@ -69,6 +69,7 @@ public class TestEntityUtil {
|
||||
"123",
|
||||
"longValue",
|
||||
"0123456789")));
|
||||
testEntityInfo.setDoubleField(100.456);
|
||||
return testEntityInfo;
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,7 @@ public class SearchDocumentTransformerTest {
|
||||
assertTrue(result.isPresent());
|
||||
ObjectNode parsedJson = (ObjectNode) OBJECT_MAPPER.readTree(result.get());
|
||||
assertEquals(parsedJson.get("urn").asText(), snapshot.getUrn().toString());
|
||||
assertEquals(parsedJson.get("doubleField").asDouble(), 100.456);
|
||||
assertEquals(parsedJson.get("keyPart1").asText(), "key");
|
||||
assertFalse(parsedJson.has("keyPart2"));
|
||||
assertEquals(parsedJson.get("keyPart3").asText(), "VALUE_1");
|
||||
@ -106,6 +107,7 @@ public class SearchDocumentTransformerTest {
|
||||
parsedJson.get("nestedIntegerField").getNodeType().equals(JsonNodeType.NULL);
|
||||
parsedJson.get("feature1").getNodeType().equals(JsonNodeType.NULL);
|
||||
parsedJson.get("feature2").getNodeType().equals(JsonNodeType.NULL);
|
||||
parsedJson.get("doubleField").getNodeType().equals(JsonNodeType.NULL);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -92,15 +92,15 @@ record TestEntityInfo includes CustomProperties {
|
||||
}
|
||||
esObjectField: optional map[string, string]
|
||||
|
||||
@Searchable = {
|
||||
"fieldName": "doubleField",
|
||||
"fieldType": "DOUBLE"
|
||||
}
|
||||
doubleField: optional double
|
||||
@Searchable = {
|
||||
"fieldName": "doubleField",
|
||||
"fieldType": "DOUBLE"
|
||||
}
|
||||
doubleField: optional double
|
||||
|
||||
@Searchable = {
|
||||
"fieldName": "removed",
|
||||
"fieldType": "BOOLEAN"
|
||||
}
|
||||
removed: optional boolean
|
||||
@Searchable = {
|
||||
"fieldName": "removed",
|
||||
"fieldType": "BOOLEAN"
|
||||
}
|
||||
removed: optional boolean
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user