如何在elasticsearch rails中显示文档数量

时间:2013-10-29 21:17:44

标签: ruby-on-rails search elasticsearch

如果我有很多文件,并且想知道“有多少文件,'rails'出现在” 有没有办法从索引中获取来自elasticsearch“tire gem”的信息?

1 个答案:

答案 0 :(得分:1)

您可以使用Facets来创建类似SQL'group-by'聚合函数的内容,如elasticsearch文档中的here所述。 示例代码如下所示:

index_name = "documents" # name of your index
search_word = 'rails' # word searching for
field_name = 'document_text' # field to search in
search = Tire.search index_name do
  query do
    string "#{field_name}:#{search_word}"
  end
  facet 'ids-facets', :global => false do
    terms :id
  end
end
document_ids = search.results.facets['ids-facets']['terms']

希望这有帮助。