ruby-on-rails - 如何获取出现在Elasticsearch Rails中的文档数量

标签 ruby-on-rails search elasticsearch

如果我有很多文档,并且想知道““rails”一词出现在多少文档中”
有没有办法从索引中的Elasticsearch“轮胎 gem ”中获取此信息?

最佳答案

您可以使用Facets进行类似于SQL“分组依据”聚合函数的操作,如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']

希望这可以帮助。

关于ruby-on-rails - 如何获取出现在Elasticsearch Rails中的文档数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669317/

相关文章:

计算搜索次数

javascript - 按条件搜索 VS SEO

arrays - 在 ElasticSearch 中从数组中删除元素/对象,然后匹配查询

php - 如何在ElasticSearch中合并2个索引上的结果?

ruby-on-rails - "rvm requirements"给出的依赖项有什么用?

ruby-on-rails - Rails ActiveRecord::StatementInvalid: PG::Error: ERROR: 缺少表的 FROM 子句条目

javascript - 如何从 JavaScript 调用服务器上的 Ruby 方法

ruby-on-rails - 在 rails 4 中渲染之前设置响应状态

java - 在java中一次执行多个 Elasticsearch 查询

angularjs - 使用存储在Angular变量中的URI查询来查询Elasticsearch