Core Resource Fields
{
"id": "string (keyword, not indexed)",
"service_at_location_id": "string (text, searchable)",
"name": "string (text with keyword subfield for exact matching)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)",
"phone": "string (keyword, exact match)",
"url": "string (keyword, exact match)",
"email": "string (keyword, exact match)",
"schedule": "string (text, searchable)"
}
Geospatial Fields
{
"service_area": {
"type": "geo_shape",
"coordinates": [[["longitude", "latitude"]]]
},
"location": {
"name": "string (text with keyword subfield)",
"alternate_name": "string (text with keyword subfield)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)",
"point": {
"lat": 48.7519,
"lon": -122.4787
},
"physical_address": {
"address_1": "string (text with keyword subfield)",
"address_2": "string (text with keyword subfield)",
"city": "string (keyword, exact match)",
"state": "string (keyword, exact match)",
"country": "string (keyword, exact match)",
"postal_code": "string (keyword, exact match)"
}
}
}
Service Information
{
"service": {
"name": "string (text with keyword subfield)",
"alternate_name": "string (text with keyword subfield)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)"
}
}
Organization Information
{
"organization": {
"name": "string (text with keyword subfield)",
"alternate_name": "string (text with keyword subfield)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)"
}
}
Nested Taxonomies
{
"taxonomies": [
{
"code": "string (text with keyword subfield)",
"name": "string (text with keyword subfield)",
"description": "string (text, searchable)"
}
]
}
System Fields
{
"facets": {
"[dynamic_facet_name]": "any value"
},
"tenant_id": "string (keyword, exact match)",
"priority": 0,
"pinned": false
}
Putting It All Together
{
"id": "string (keyword, not indexed)",
"service_at_location_id": "string (text, searchable)",
"name": "string (text with keyword subfield for exact matching)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)",
"phone": "string (keyword, exact match)",
"url": "string (keyword, exact match)",
"email": "string (keyword, exact match)",
"schedule": "string (text, searchable)",
"service_area": {
"type": "geo_shape",
"coordinates": [[["longitude", "latitude"]]]
},
"location": {
"name": "string (text with keyword subfield)",
"alternate_name": "string (text with keyword subfield)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)",
"point": {
"lat": 48.7519,
"lon": -122.4787
},
"physical_address": {
"address_1": "string (text with keyword subfield)",
"address_2": "string (text with keyword subfield)",
"city": "string (keyword, exact match)",
"state": "string (keyword, exact match)",
"country": "string (keyword, exact match)",
"postal_code": "string (keyword, exact match)"
}
},
"service": {
"name": "string (text with keyword subfield)",
"alternate_name": "string (text with keyword subfield)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)"
},
"organization": {
"name": "string (text with keyword subfield)",
"alternate_name": "string (text with keyword subfield)",
"description": "string (text, searchable)",
"summary": "string (text, searchable)"
},
"taxonomies": [
{
"code": "string (text with keyword subfield)",
"name": "string (text with keyword subfield)",
"description": "string (text, searchable)"
}
],
"facets": {
"[dynamic_facet_name]": "any value"
},
"tenant_id": "string (keyword, exact match)",
"priority": 0,
"pinned": false
}
Field Type Details
text: Full-text searchable, analyzedkeyword: Exact match, not analyzedtextwithrawsubfield: Searchable + exact match capabilitygeo_point: Geographic coordinates for distance queriesgeo_shape: Geographic polygons/shapes for area queriesnested: Maintains object relationships in arraysobject: Dynamic object structureinteger/boolean: Typed system fields
This structure supports full-text search, geospatial queries, faceted filtering, and multi-language content through separate indices per locale.
