我有一个Person模型,现在可以有多个办公室“位置”,每个都有自己的纬度/经度。
在一个人只能添加一个办公室之前,所以我一直在使用我为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索引复制到此位置索引。虽然这在短期内可能是一个不错的解决方案,但从长远来看可能是不整洁的?
想知道是否有办法单独索引位置,然后根据指定半径范围内的地址过滤相关人员?