You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Adrien Grand (JIRA)" <ji...@apache.org> on 2017/12/11 17:55:00 UTC

[jira] [Created] (LUCENE-8091) Better nearest-neighbor queries

Adrien Grand created LUCENE-8091:
------------------------------------

             Summary: Better nearest-neighbor queries
                 Key: LUCENE-8091
                 URL: https://issues.apache.org/jira/browse/LUCENE-8091
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Adrien Grand
            Priority: Minor


LatLonPoint.nearest is very efficient at identifying the top-k documents sorted by distance from a given point, by working directly on the BKD tree. This doesn't support filtering though, so if you need to filter by another property, you need to switch to querying on the filter and sorting by a LatLonPointSortField. Unfortunately this requires visiting all documents that match the filter.

We could leverage the new {{setMinCompetitiveScore}} API introduced in LUCENE-4100 in order to allow for retrieval of nearest neighbors with arbitrary filters, by recomputing a bounding-box when a new minimum competitive score is set.

In the future we could also leverage this to speed up queries that are boosted by distance. For instance if the final score is a weighted sum of the score on a text field and a distance-based score, and the minimum competitive score gets higher than the maximum score that may be produced on the text field at some point, then we could dynamically prune hits based on the distance.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org