elasticsearch,django-haystack,Django,elasticsearch,Django Haystack" /> elasticsearch,django-haystack,Django,elasticsearch,Django Haystack" />

Django haystack LocationField另存为字符串

Django haystack LocationField另存为字符串,django,elasticsearch,django-haystack,Django,elasticsearch,Django Haystack,我使用的是Django 1.8.5、haystack 2.4.1和elasticsearch 1.7。这个问题可能是重复的,但问题的出现是因为elasticsearch 2中关于映射的基本更改,但这里问题的根源完全不同,因此我创建了一个新问题 我想将基于地理位置的搜索添加到我的模型中。为此,我做了以下更改: 在我的可搜索模型中: latitude = models.FloatField(blank=True, null=True) longitude = models.FloatField(

我使用的是Django 1.8.5、haystack 2.4.1和elasticsearch 1.7。这个问题可能是重复的,但问题的出现是因为elasticsearch 2中关于映射的基本更改,但这里问题的根源完全不同,因此我创建了一个新问题

我想将基于地理位置的搜索添加到我的模型中。为此,我做了以下更改:

在我的可搜索模型中:

latitude = models.FloatField(blank=True, null=True)
  longitude = models.FloatField(blank=True, null=True)
  def get_location(self):
            return Point(self.latitude or 1000, self.longitude or 1000)
在search_index.py中:

location = indexes.LocationField(model_attr='get_location')
通过运行
/manage.py build\u index
,我们希望映射得到更新。我检查了映射,但令人惊讶的是位置字段被保存为
string
,而不是
geo_point
。因此,我的
dwithin
过滤器出现问题,无法完成工作

我知道我可以通过直接查询elastic手动创建映射,但我希望haystack通过
search\u index.py
来实现。因此,haystack有没有解决这个问题的方法?我需要尽快完成