Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Searchkick进行地理空间搜索以查找用户_Ruby On Rails_Ruby On Rails 4_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Ruby On Rails,Ruby On Rails 4,elasticsearch" /> elasticsearch,Ruby On Rails,Ruby On Rails 4,elasticsearch" />

Ruby on rails 使用Searchkick进行地理空间搜索以查找用户

Ruby on rails 使用Searchkick进行地理空间搜索以查找用户,ruby-on-rails,ruby-on-rails-4,elasticsearch,Ruby On Rails,Ruby On Rails 4,elasticsearch,我刚刚开始使用Rails web服务,目前我正在测试。我希望在某个位置的某个周界周围检索用户 对于我的测试,我有一个用户对象(带有email、name…)和一个位置对象(带有经度、纬度和对一个用户的引用)。而且用户与位置有很多关系 目前我的位置看起来像 class Position < ActiveRecord::Base belongs_to :User searchkick locations: ["location"] def search_data attri

我刚刚开始使用Rails web服务,目前我正在测试。我希望在某个位置的某个周界周围检索用户

对于我的测试,我有一个用户对象(带有email、name…)和一个位置对象(带有经度、纬度和对一个用户的引用)。而且用户与位置有很多关系

目前我的位置看起来像

class Position < ActiveRecord::Base
  belongs_to :User
  searchkick locations: ["location"]

  def search_data
    attributes.merge location: [latitude, longitude]
  end
end
但是我得到了以下错误

nested: QueryParsingException[[positions_development_20140310223244065] failed to find geo_point field [location]]; }]","status":400}
我不知道我到底要做什么。(我不熟悉rails和弹性搜索)
所以如果有人能给我一个更好的解释,我就接受了!感谢的

在对
searchkick
search\u data
方法进行更改后,请务必重新编制索引

Position.reindex

我知道,但这问了我一个问题,我想给reindex什么?我尝试了Position.reindex*,但仍然出现错误,没有使用“*”。reindex方法不接受任何参数。最后,没关系,我只是重新启动了rails控制台。如果我想要给定周长内的所有位置,您能确认我必须搜索“*”吗?是的,您需要使用“*”作为查询,以获得与where条件匹配的所有结果。此外,在要点中,您的搜索数据方法似乎存在问题。尝试定位。首先,搜索数据。
Position.reindex