-
-
Notifications
You must be signed in to change notification settings - Fork 167
Open
Labels
Description
When interpolations are generated, they are always of type address, however it's possible for the API to return these results even when the layers are specified in a way that excludes the address layer.
For example: https://pelias.github.io/compare/#/v1/search?layers=street&text=10+Brunswick+Street%2C+VIC
In this case the query specifically requested layers=street yet the result set contains rows from the address layer.
The cause of this issue is in the interpolationShouldExecute predicate, which should take into account the requested layers and not execute if the address layer is not targeted:
Lines 182 to 187 in e6f532b
| const interpolationShouldExecute = all( | |
| not(predicates.hasRequestErrors), | |
| isInterpolationEnabled, | |
| predicates.hasParsedTextProperties.all('housenumber', 'street'), | |
| predicates.hasResultsAtLayers('street') | |
| ); |
Note: this should also improve performance for these queries.