Ruby on rails 如何在elasticsearch rails中获取术语出现的文档数
如果我有很多文档,并且想知道“术语‘rails’出现在多少文档中”Ruby on rails 如何在elasticsearch rails中获取术语出现的文档数,ruby-on-rails,search,
elasticsearch,Ruby On Rails,Search,
elasticsearch,如果我有很多文档,并且想知道“术语‘rails’出现在多少文档中” 有没有办法从索引中的elasticsearch“tire gem”中获取此信息?如elasticsearch文档中所述,您可以使用Facets创建类似SQL“group by”聚合函数的内容。 示例代码如下所示: index_name = "documents" # name of your index search_word = 'rails' # word searching for field_name = 'docume
有没有办法从索引中的elasticsearch“tire gem”中获取此信息?如elasticsearch文档中所述,您可以使用Facets创建类似SQL“group by”聚合函数的内容。 示例代码如下所示:
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']
希望这能有所帮助。您可以使用facet生成类似于SQL“group by”聚合函数的函数,如elasticsearch文档中所述。 示例代码如下所示:
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']
希望这有帮助。如何重新为模型编制索引?如何重新为模型编制索引?