根据地理空间数据排序,并基于字段上移特定记录-ElasticSearch DSL DRF

问题描述 投票:0回答:1

[我目前正在尝试解决的情况是GeoSpatialOrderingFilterBackend中使用ElasticSearch DSL - DRF的情况,它基于位置(纬度,经度)对文档进行排序,这反过来给出了elasticsearch_dsl.search.Search查询集-按其应有的顺序;尽管我有些情况是featured,因此希望将它们移到查询集的顶部。

场景(原样):

Record 1, Location X, Featured False
Record 3 Location Y, Featured False
Record 2, Location Z, Featured True

预期:

Record 1, Location Z, Featured True
Record 2, Location X, Featured False
Record 3, Location Y, Featured False

随后在查询集上排序(如下所示),将精选图片放在顶部;尽管会扰乱整个地理空间/位置的顺序。

result = super().filter_queryset(request, queryset, view).sort('-featured')

我正在寻找一种方法,将精选唱片放在首位;但要保持记录的顺序。

django elasticsearch elasticsearch-5 elasticsearch-dsl
1个回答
0
投票
GeoSpatialOrderingFilterBackend提供get_ordering_query_params函数中的排序查询参数。当您再次基于featured进行订购时,请同时考虑查询中的那些参数。
© www.soinside.com 2019 - 2024. All rights reserved.