1

我有一个 Person 模型,它现在可以有许多办公室“位置”,每个都有自己的纬度/经度。

在一个人只能添加 1 个办公室之前,所以我一直在使用我为 django-haystack 制作的叉子,它使用 JTeam 的 spatial-solr-plugin 进行半径搜索。见https://github.com/sidmitra/django-haystack

class PersonIndex(indexes.SearchIndex):
    lat = indexes.FloatField()
    lng = indexes.FloatField()

sqs.spatial(lat=lat, long=lng, radius=radius, unit=kwargs.get('unit'))

由于办公室的数量是无限的,我不能在索引中使用单独的 lat/lng 字段。

我能想到的一种方法是索引“位置”模型。每个位置将是索引中的一个单独条目。因此解决了这个问题,但这意味着将所有字段从 Person 索引复制到此位置索引。虽然这在短期内可能是一个不错的解决方案,但从长远来看可能会不整洁?

想知道是否有办法单独索引位置,然后根据指定半径内的地址过滤相关人员?

4

0 回答 0