elasticsearch,retrofit2,Android,elasticsearch,Retrofit2" /> elasticsearch,retrofit2,Android,elasticsearch,Retrofit2" />

如何从android客户端搜索复合查询?

如何从android客户端搜索复合查询?,android,elasticsearch,retrofit2,Android,elasticsearch,Retrofit2,我使用firestore作为db和一个elasticsearch实例。我触发云函数将数据放入弹性服务器。我使用elasticsearch是因为我需要复合查询来检索数据。我可以通过改装发送基本查询。我是这方面的新手,我正在寻找一些资源来学习使用es+和ID+改型的复合查询,或者任何其他方法。你有什么建议吗 我的意思是如何在android改造中编写下面的查询 { "query": { "match_all": {} }, "filter": { "bool": { "

我使用firestore作为
db
和一个elasticsearch实例。我触发云函数将数据放入弹性服务器。我使用elasticsearch是因为我需要复合查询来检索数据。我可以通过改装发送基本查询。我是这方面的新手,我正在寻找一些资源来学习使用es+和ID+改型的复合查询,或者任何其他方法。你有什么建议吗

我的意思是如何在android改造中编写下面的查询

{
"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"
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    }
}

其实你的问题不清楚。若你们可以运行基本查询,那个么在逻辑上,你们可以运行复合查询。但是,如果您要求同时从elastic实例和firestore实例检索数据,那么您应该创建一个新的服务/api实例,该实例接受来自mobile的请求,并从这两个实例中查找结果,然后合并并发送回mobile,否则,合并来自移动端的两个服务/api的响应将影响性能/用户体验

我从以下页面找到了解决方案: