我使用firestore作为db
和一个elasticsearch实例。我触发云功能将数据放到弹性服务器上。我正在使用elasticsearch,因为我需要复合查询来检索数据。我可以通过改造发送基本查询。我是关于该主题的新手,我正在寻找一些资源来学习 es + andorid + retrofit 的复合查询,或者其他任何方式。你有什么建议吗?
我的意思是如何在android retrofit中编写下面的查询
{
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"term": {
"city": "New york"
}
},
{
"term": {
"state": "NY"
}
},
{
"bool": {
"should": [
{
"bool": {
"must": [
{
"term": {
"businessName": "Java"
}
},
{
"term": {
"businessName": "Shop"
}
}
]
}
},
{
"bool": {
"must": [
{
"term": {
"category": "Java"
}
},
{
"term": {
"category": "Shop"
}
}
]
}
}
]
}
}
]
}
}
答案 0 :(得分:0)
实际上您的问题不清楚。如果您可以运行基本查询,那么在逻辑上可以运行复合查询。但是,如果您要求同时从弹性实例和Firestore实例中检索数据,则应创建一个新的service / api实例,该实例接受来自移动设备的请求并从两个实例中查找结果,然后合并并发送回移动设备,否则来自移动端的两个服务/ api的合并响应将影响性能/用户体验。
答案 1 :(得分:0)