Tire (ElasticSearch ラッパー gem) の場合、特定の属性に nil/null 値を持つインデックス付きレコードをクエリして除外するにはどうすればよいですか。たとえば、私がこの関係を持っている場合
class Article < ActiveRecord::Base
belongs_to :topic
end
記事のインデックスを作成しましたが、topic_id = nilのレコードを引き戻したくありません。このコードブローを試しましたが、うまくいきませんでした。
class Article
belongs_to :topic
def search(q)
tire.search do
...
filter :missing, :field => :topic_id, { :existence => false, :null_value => false }
...
### filter :range, :topic_id => { :gt => 0 } # ==> I tried this as well but didn't work
...
end
end
end