2016-03-01 50 views
0

我需要根據特定條件獲得隨機數量的結果。這是我的查詢: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個隨機數據庫公司。已經搜索了幾個小時如何解決這個問題,但沒有運氣。任何幫助表示讚賞,

謝謝。

回答

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 } } } }