Skip to content

Adjust Searchable Properties

Note

Your account needs access to the XYZ Maps Add-on Services.

This section describes how to use the extended capability of enabling property-search for user-specified properties of your GeoJSON features inside a space.

It is recommended that you read the "properties-search" guide before proceeding with this more specific guide.

Searching for features in a space

If the above prerequisites are fulfilled, adjusting the searchable properties can be done by updating the space's searchableProperties property. This can be done using a PATCH request to the /spaces/{spaceId} endpoint.

searchableProperties is a map of which the keys are property names and the values are boolean flags telling whether the property should be searchable or not.

The following sample shows how to define someProperty1 to be searchable and someProperty2 to be not searchable. In case you're wondering about the latter: This could be necessary to tell XYZ Maps to revoke the decision of making someProperty2 searchable in the automated algorithm.

TL;DR XYZ Maps has a space-specific algorithm to automatically decide which of the space's properties are searchable. In case you desire other properties to be searchable the searchableProperties map can be used to define that.

{
  "someProperty1": true,
  "someProperty2": false
}

Nested properties can be specified using the dot-notation e.g.:

{
  "some.nested.property": true
}

It is also possible to define the datatype which is used on the property. Available datatypes are object, array, string, number, and boolean. If the datatype is not given, an attempt is made to determine it automatically. The syntax is "someProperty::datatype"

{
  "some.nested.property::array": true
}

Remember: In a PATCH-operation only the properties to be changed are necessary

Request

Try in your local Swagger

PATCH /spaces/{spaceId}

with the following body

{
    "searchableProperties": {
        "someProperty1": true,
        "someProperty2": false,
        "some.nested.property": true
    }
}

Response

{
    "title": "My Demo Space",
    "description": "Description as markdown",
    "searchableProperties": {
        "someProperty1": true,
        "someProperty2": false,
        "some.nested.property": true
    }
}