public IngestDocument execute()

in src/main/java/org/opensearch/geospatial/processor/FeatureProcessor.java [34:48]


    public IngestDocument execute(IngestDocument ingestDocument) {
        // 1. Create Feature from ingesting document
        // 2. Remove field "type", since, we are not storing as geo-json
        // 3. Move properties.* as document's fields, since, we don't have to group it inside "properties"
        // 5. Move geojson's geometry object to geoshape field.
        Feature feature = FeatureFactory.create(ingestDocument.getSourceAndMetadata());
        ingestDocument.removeField(Feature.TYPE_KEY);
        feature.getProperties().forEach((k, v) -> ingestDocument.setFieldValue(k, v));
        if (ingestDocument.hasField(Feature.PROPERTIES_KEY)) { // properties are optional in Feature
            ingestDocument.removeField(Feature.PROPERTIES_KEY);
        }
        ingestDocument.setFieldValue(this.geoShapeField, feature.getGeometry());
        ingestDocument.removeField(Feature.GEOMETRY_KEY);
        return ingestDocument;
    }