gpt4 book ai didi

使用 Tyre 进行 Elasticsearch 查询

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

我有这个要求:

curl -XGET localhost:9200/users/_search -d '
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "apps_events",
"query":{
"filtered": {
"query": { "match_all": {}},
"filter": {
"and": [
{"term": {"apps_events.status": "active"}},
{"terms": {"apps_events.type": ["sale"]}}
]
}
}
}
}
}
}
}
}'

我没有成功将其转换为 Tyre(rails gem)语言...
我在轮胎测试中没有找到任何嵌套过滤器的例子......

有什么想法吗?

最佳答案

好的,我找到了答案:

nested_filter = Tire::Search::Query.new do
filtered do
query { all }
filter :term, { 'apps_events.status' => 'active' }
filter :terms, { 'apps_events.type' => ['sale'] }
end
end

tire.search(page: params[:page], per_page: params[:per_page], load: params[:load]) do
query do
filtered do
query { all }
# Merge the defined filter as a hash into the `nested` filter
filter :nested, { path: 'apps_events'}.merge({ query: nested_filter.to_hash })
end
end
end

感谢@karmiq
https://github.com/karmi/tire/issues/660

关于使用 Tyre 进行 Elasticsearch 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14964052/

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