gpt4 book ai didi

ruby-on-rails - 获取ElasticSearch结果中某项的页码

转载 作者:行者123 更新时间:2023-12-03 02:02:10 25 4
gpt4 key购买 nike

我有按字母顺序排列的人索引。我的目标是找到某个人在该索引的哪个页面上列出。例如,“Tim Curry”可能会在“T”部分的第5页上列出。目前,我正在使用ActiveRecord获取页码; Elasticsearch结果是每页20个,因此我可以根据索引得出页数。但是,尽可能地从Elasticsearch直接获取页码似乎更明智,以确保获得正确的页面。有没有办法从ES获取这些数据?

def page_index
letter= self.name[0].downcase
index=Person.where("lower(name) like?", "#{letter}%").order("lower(name)").pluck(:id).index(self.id)
page=index/20 + 1
end

最佳答案

此功能未与ElasticSearch bundle 在一起。如果您正在寻找功能,则使用每页和索引的结果是正确的方法。

由于尚不清楚您需要的文档是什么,或者您要实现的总体UX是什么,我谨记您始终可以通过各种方式(特定名称的过滤查询词)在索引中搜索特定文档您需要“蒂姆 curry ”,ID或_uid等)。

ES也是基于全文的搜索客户端,可以找到一个对象及其属性,最好通过数据库调用来提供。

再次重申一下,我不知道您到底需要什么,或者总体上想达到什么目的,但是最好通过访问结果中的索引和简单的数学来找到返回结果集中特定结果的页面。

关于ruby-on-rails - 获取ElasticSearch结果中某项的页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31210911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com