{
  "settings": {
    "analysis": {
      "analyzer": {
        "pathAnalyzer": {
          "type": "custom",
          "tokenizer": "pathTokenizer"
        }
      },
      "tokenizer": {
        "pathTokenizer": {
          "type": "path_hierarchy",
          "delimiter": "/",
          "replacement": "/",
          "skip": 0,
          "buffer_size": 1024,
          "reverse": false
        }
      }
    }
  },
  "mappings": {
    "dynamic_templates": [
      {
        "integerType": {
          "match": "ft_*_ti",
          "mapping": {
            "type": "integer"
          }
        }
      },
      {
        "doubleType": {
          "match": "ft_*_d",
          "mapping": {
            "type": "double"
          }
        }
      },
      {
        "booleanType": {
          "match": "ft_*_b",
          "mapping": {
            "type": "boolean"
          }
        }
      },
      {
        "dateTimeType": {
          "match": "ft_*_dt",
          "mapping": {
            "type": "date",
            "format": "yyyy-MM-dd||yyyy-MM||yyyy||yyyy-MM-dd'T'HH:mm:ss'Z'||yyyy-MM-dd'T'HH:mm:ss||yyyy-MM-dd HH:mm:ss.S"
          }
        }
      },
      {
        "stringType": {
          "match": "ft_*_s",
          "mapping": {
            "type": "keyword",
            "copy_to": "any"
          }
        }
      },
      {
        "stringPathType": {
          "match": "ft_*_s_tree",
          "mapping": {
            "type": "text",
            "fielddata": true,
            "analyzer": "pathAnalyzer",
            "search_analyzer": "keyword"
          }
        }
      },
      {
        "operationType": {
          "match": "_op*",
          "mapping": {
            "type": "keyword"
          }
        }
      }
    ],
    "properties": {
      "any": {
        "type": "text"
      },
      "id": {
        "type": "keyword"
      },
      "docType": {
        "type": "keyword"
      },
      "featureTypeId": {
        "type": "keyword"
      },
      "resourceType": {
        "type": "keyword",
        "copy_to": "any"
      },
      "resourceTitle": {
        "type": "text",
        "copy_to": "any",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "recordLink": {
        "type": "join",
        "relations": {
          "record": "feature"
        }
      },
      "recordGroup": {
        "type": "keyword"
      },
      "geom": {
        "type": "geo_shape"
      },
      "location": {
        "type": "geo_point"
      }
    }
  }
}
