Hi Kevin,

FunctionScoreQuery can also work with dynamically-computed values, you just
need to provide it with a DoubleValuesSource that computes values
dynamically. The factory methods that exist in the DoubleValuesSource class
all work with indexed data, but it is also possible to write a custom
implementation.

I also wonder whether you saw LatLonPointDistanceFeatureQuery, which is an
efficient way to boost hits based on geo-distance.

On Thu, Feb 20, 2020 at 10:55 PM Kevin Manuel <kevinmanue...@gmail.com>
wrote:

> Hi,
>
> I'm working on upgrading Lucene from 7.0.0 to the latest 8.4.1. We're using
> a CustomScoreQuery to score docs/results differently based on their
> distance from a the user's location and also some other factors like the
> type of the document (i.e. say if we stored documents of places to eat, a
> restaurant would have a different boost value vs say a bar).
>
> In the change log it was suggested to use FunctionScoreQuery instead. From
> my understanding, it looks like FunctionScoreQuery can only be used for
> index-time boosts (i.e. by using a field value present in the document) but
> the above use case probably needs something more dynamic due to the
> distance calculation.
>
> Was wondering if you had any suggestions on how to achieve this or if maybe
> I'm misunderstanding something?
>
> Thanks,
> Kevin
>


-- 
Adrien

Reply via email to