как эффективно выполнить два фильтра неравенства на запросах в механизме приложения

Я знаю, что механизм приложения имеет ограничение "Фильтров Неравенства, Позволяются На Одном Свойстве Только", как описано здесь: http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Introducing_Indexes

Однако там некоторый путь состоит в том, чтобы по существу выполнить два фильтра, или разве это просто не возможно? Например, если бы у меня был вид объекта, который просто имел координату X и Y, и я хотел все объекты, которые являются в определенном диапазоне X1 к X2 и Y1 к Y2, то там некоторый путь состоит в том, чтобы запросить для всех объектов от X1 до X2, отсортированного по их значениям Y, и затем легко захватить соответствующие между моим желаемым диапазоном для значений Y?

Если так, у кого-то есть некоторый пример кода для демонстрации?

13
задан Joey 11 June 2010 в 07:41
поделиться

2 ответа

Если это соответствует вашим данным, вы можете разделить X и Y на ячейки, сгенерировать хэш из двух значений и сохранить его в модели. Затем вы можете выполнить точный поиск хэшей (ов), которые перекрывают регион, в котором вы хотите искать. Затем вручную отфильтруйте результаты за пределами вашего региона.

По сути, это то, что геомодель делает для широты / долготы.

6
ответ дан 2 December 2019 в 01:20
поделиться

Согласно недавнему докладу Альфреда Фуллера о вводе-выводе Google , они работают над поддержкой множественного неравенства фильтры по числовым свойствам.

3
ответ дан 2 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: