Rails + Searchkick - 条件无效的随机搜索

时间:2016-03-01 02:36:11

标签: ruby-on-rails searchkick

我需要根据某些条件获得随机数量的结果。这是我的问题:

query = Company.search('*', limit:10, where: {location: {near: [long,lat], within: distance}, confirmed: true }, execute: false)

query.body[:query] = {function_score:{ random_score: { seed: seed } } }

company_results = query.execute.results

问题是它返回以随机性返回搜索但不应用where参数。它每次只从数据库中给我10个随机公司。已经搜索了几个小时如何解决这个问题,但没有运气。任何帮助表示赞赏,

感谢。

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,找到解决方案。结果是整个查询需要写入正文哈希

query = Company.search '*', body: { size: 10, query: { function_score: { query: { filtered: { query: { term: { confirmed: true } }, filter: { geo_distance: { distance: "150km", location: "#{lat}, #{long}" } } } }, random_score: { seed: DateTime.now.to_i } } } }