2014-11-18 3 views
0

Мне нужно будет хранить много (от 100 до 10 миллионов) долготы/широты (гео) с добавлением дополнительных дополнительных переменных. Когда пользователь войдет в мое приложение для Android, он запросит все геотоны в радиусе километра.Как использовать конечные точки для Android с API поиска App Engine

Я читал блоги, документацию и вопросы о stackoverflow и пришел к выводу, что наилучшее совпадение будет заключаться в использовании Google App Engine в сочетании с API поиска App Engine и подключении конечных точек к моему Android-приложению.

Недавно я последовал за this tutorial и успешно применил приложение Android для получения данных из хранилища данных App Engine, так что часть конечной точки, которую я получил (более или менее), была закрыта.

У меня есть следующие вопросы:

  1. сочетание App Engine, Search API и оконечных ли смысл?
  2. В приведенном выше учебном пособии мое приложение извлекало данные из Datastore. Он должен действительно извлекаться из Search API. Возможно ли это с моей текущей настройкой конечных точек? This tutorial показывает, как создавать, добавлять и извлекать (искать) документы внутри индекса. Может ли код этого учебника быть вставлен в сторону Appengine моих конечных точек?
  3. Есть ли хороший урок, который я пропустил относительно этого (помимо двух связанных выше) для моей цели или, возможно, даже лучше, любого примера с открытым исходным кодом описанной выше установки?

Важное изменение: Я пишу App Engine на Java.

Спасибо заранее,

(Я новичок в App Engine, Endpoints и поиск API, пытаясь найти свой путь и быстро учится).

ответ

1
  1. Сочетание имеет смысл. App Engine как платформа настолько эффективна, что у вас есть доступ ко многим API-интерфейсам и сервисам, таким как API поиска и усовершенствования вашего рабочего процесса, как система конечных точек, вместо простого определения сервлета API и собственного протокола (или реализации jsonrpc2.0, например)
  2. Да, вы можете использовать функцию API конечной точки для запуска любого кода, который вы могли бы запускать где-либо еще в своем приложении. Вы можете использовать функцию getNearbyPoints (GeoPoint p) конечной точки, которая запускает запрос API поиска и возвращает результаты. Чтобы связать все это вместе, я бы рекомендовал хранить полные данные (вы упомянули, что есть много метаданных) для точки в Datastore как сущность, но в соответствующем «документе» в API поиска, сохраняя только хранилище данных ID этого объекта, так что ваш функциональный код API конечных точек может использовать API поиска для запроса по расстоянию от точки p, а затем преобразовывать результаты в полные объекты для отправки обратно.
  3. Вы можете взглянуть на these дополнительные resources. Не уверен, что вы прочитали все или все из них, но в любом случае они содержат ценную информацию.
+0

Спасибо! Хорошо знать, что идея, которая у меня была для моей установки, имеет смысл для вас. Я боялся, что я что-то перепутаю. Также замечательно знать, что я могу использовать конечные точки для использования Datastore для хранения полной информации и поиска для сравнения, я об этом не думал. К примерам, которые вы связали, относятся к python, но документация по документам и Geopoints для java довольно понятна. Я подожду несколько дней, прежде чем принять ваш ответ, надеюсь, больше ресурсов и примеров всплывают. – Agil

Смежные вопросы