Skip to content

Commit c65b448

Browse files
Elasticsearch geo_point type support by converting to varchar (#2244)
1 parent 4f2e1d7 commit c65b448

File tree

3 files changed

+4
-9
lines changed

3 files changed

+4
-9
lines changed

athena-elasticsearch/src/main/java/com/amazonaws/athena/connectors/elasticsearch/ElasticsearchSchemaUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ private static FieldType toFieldType(Map<String, Object> mapping)
147147
case "text":
148148
case "keyword":
149149
case "binary":
150+
case "geo_point":
150151
minorType = Types.MinorType.VARCHAR;
151152
break;
152153
case "long":

athena-elasticsearch/src/main/java/com/amazonaws/athena/connectors/elasticsearch/ElasticsearchTypeUtils.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,8 @@ private Extractor makeVarCharExtractor(Field field)
120120
if (fieldValue instanceof String) {
121121
dst.value = (String) fieldValue;
122122
}
123-
else if (fieldValue instanceof List) {
124-
Object value = ((List) fieldValue).get(0);
125-
if (value instanceof String) {
126-
dst.value = (String) value;
127-
}
128-
else {
129-
dst.isSet = 0;
130-
}
123+
else if (fieldValue instanceof List || fieldValue instanceof Map) {
124+
dst.value = fieldValue.toString();
131125
}
132126
else {
133127
dst.isSet = 0;

athena-elasticsearch/src/test/java/com/amazonaws/athena/connectors/elasticsearch/ElasticsearchTypeUtilsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public void makeVarCharExtractorTest()
9292

9393
Map<String, Object> expectedResults = ImmutableMap.of(
9494
"mytext", "My favorite Sci-Fi movie is Interstellar.",
95-
"mytextlist", "Hey, this is an array!");
95+
"mytextlist", "[Hey, this is an array!, Wasn't expecting this!]");
9696
Map<String, Object> extractedResults = testField(mapping, document);
9797
logger.info("makeVarCharExtractorTest - Expected: {}, Extracted: {}", expectedResults, extractedResults);
9898
assertEquals("Extracted results are not as expected!", expectedResults, extractedResults);

0 commit comments

Comments
 (0)