[ 
https://issues.apache.org/jira/browse/LUCENE-8091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16287631#comment-16287631
 ] 

Adrien Grand commented on LUCENE-8091:
--------------------------------------

This implementation requires values to be both indexed with points and readable 
with doc values. The thing that makes it hard with more than 1 dimension is 
that we do not have a canonical way to represent vectors in doc values, this 
requires a custom encoding with a binary doc value field. So it would be doable 
but either the API would be a bit hard to use or we would have to make 
assumptions as to how the float[] is encoded in a binary field.

> 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
>         Attachments: LUCENE-8091.patch
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to