在我的一生中,我找不到在 Ruby on Rails 和 elastisearch-model(或 rails 或 dsl)gem 中使用 ElasticSearch scroll api 的任何参考。
他们在文档中唯一引用的是直接在客户端上调用滚动,这违背了目的。此外,它不使用客户端或您已经在 Rails 应用程序中设置的任何客户端设置。
我想做这样的事情。
这是在 Kibana 开发工具中工作的 ElasticSearch 查询:
GET model_index/_search?scroll=1m
{
"size": 100,
"query": {
"match": {
"tenant_id": 3196
}
},
"_source": "id"
}
我本以为我可以调用类似的东西
MyModel.search scroll: '1m', ...
但似乎我需要这样做:
# First create a client by hand
client = Elasticssearch::Client.new
result = client.search index: 'model_index',
scroll: '1m',
body: { query: { match: { tenant_id: 3196 } }, sort: '_id' }
有没有人有更多用户友好的例子?