8000 search: interpolation results included for layers=-address · Issue #1673 · pelias/api · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
search: interpolation results included for layers=-address #1673
Open
@missinglink

Description

@missinglink

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.

Screenshot 2024-03-28 at 11 52 04

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:

api/routes/v1.js

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0