Как упростить поиск сложных запросов от клиента Android? - PullRequest
0 голосов
/ 09 июня 2018

Я использую Firestore как db и один экземпляр эластичного поиска.Я запускаю облачные функции для передачи данных на эластичный сервер.Я используюasticsearch, потому что мне нужны сложные запросы для получения данных.Я могу отправить основные запросы с модернизацией.Я новичок в этом вопросе и ищу источники для изучения сложных запросов с es + andorid + retrofit или любым другим способом.У вас есть какие-либо предложения?

Я имею в виду, как написать запрос ниже в 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"
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    }
}

Ответы [ 2 ]

0 голосов
/ 05 июля 2018
0 голосов
/ 20 июня 2018

На самом деле ваш вопрос не ясен.если вы можете выполнить базовый запрос, он логически может выполнить составной запрос.Однако если вы запрашиваете извлечение данных как из эластичного экземпляра, так и из экземпляра Firestore одновременно, то вам следует создать новый экземпляр службы / API, который принимает запрос с мобильного устройства и ищет результат из обоих экземпляров, затем объединить и отправить обратно на мобильный, в противном случаеСлияние ответа от двух сервисов / API с мобильного конца повлияет на производительность / пользовательский опыт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...