[英]ElasticSearch / Tire - Facets are not filtered by the query?
我有一個附加了構面的ElasticSearch / Tire查詢。 看來,方面是使用全局范圍,而不是查詢范圍和過濾器。
這是我的定義。 我不確定如何確定其范圍以使用過濾器。
def self.facets_for(keyword_array, fasit, opts = {})
keyword_array = [keyword_array] if keyword_array.is_a?(String)
tire.search(per_page: opts[:per_page], page: opts[:page] ) do
query do
boolean { should { string '*' }}
end
filter :terms, :keyword => keyword_array
facet "phrases" do terms :phrases, :size => 20 end if fasit.include?("phrases")
facet "sentiment" do terms :sentiment end if fasit.include?("sentiment")
facet "lang" do terms :lang end if fasit.include?("lang")
facet "provider" do terms :provider end if fasit.include?("provider")
end # tire search
end
現在,這將返回范圍是“全局”的構面,即它們沒有被過濾器(或查詢(如果有更復雜的查詢))過濾。
我想念什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.