无法在控制台中正确设置使用Tire返回的facet数

时间:2012-11-30 11:16:38

标签: elasticsearch tire

所以我有这个直截了当的查询,我试图运行

Tire.search('posts', :size => 15) do
  query{ string '*'}
  facet('keywords'){ terms :keywords, :global => true }
end.results.facets['keywords']['terms'].each_with_index{|x, i| puts "#{i} - #{x.inspect}" }

但无论我做什么,它都会不断返回10个结果

这可以正常工作

Tire.search('posts', :size => 15) do
  query{ string '*' }
  facet('keywords'){ terms :keywords }
end.results.each_with_index{|x, i| puts "#{x.title} - #{i}" } and false

我做错了什么?

1 个答案:

答案 0 :(得分:2)

要控制返回的构面中的条目数, 您需要在构面定义中设置大小:

Tire.search('posts') do
  query{ string '*' }
  facet('keywords'){ terms :keywords, :size => 15 }
end.
  results.facets['keywords']['terms'].each_with_index{|x, i| puts "#{i} - #{x.inspect}"}

size的{​​{1}}参数控制您要检索的结果数量。