2012-05-30 16 views

Respuesta

1

Si hay una solución para tener un solo filtro de desigualdad por consulta depende del tipo de conjunto de datos que está consultando.

Por ejemplo, si desea consultar datos posicionales utilizando una dirección de latitud y longitud, normalmente deberá consultar un rango de valores en dos propiedades (lat y long). Sin embargo, con un algoritmo geohash puede realizar una consulta equivalente utilizando solo una propiedad.

3

Actualmente, GAE admite filtros de desigualdad múltiples siempre que sean on the same property.

Las soluciones a esta limitación son específicas de los datos, p. depende de cómo estén estructurados sus datos y de cómo quiera consultarlos. Por ejemplo, para la búsqueda geográfica, como se mencionó en @Dan Holevoet, existen varios algoritmos de geo hash. Básicamente, todos estos algoritmos implican la combinación de múltiples propiedades en una y al mismo tiempo la cuantificación de la propiedad (creación de valores discretos). Por ejemplo, la geo-hash implica dividir el mapa del mundo en pequeñas áreas de tamaño fijo (= combinar lat/lon y cuantizar) para poder buscar a través del operador de igualdad.

0

Cuando presento este problema (ejemplo rango de búsqueda de - a) uso query con filtro de desigualdad única. Según el orden de clasificación (asc o desc), selecciono el límite superior o inferior. Después de eso, filtro el resultado programáticamente con el límite inferior o superior que no estaba en el filtro de consulta.

+0

¿Fue necesario? como lo menciona Peter, se admiten filtros de desigualdad múltiples siempre que estén en la misma propiedad. –

+0

Intento usar uno (rango de - a) para el mismo campo de fecha - no fue compatible para mí. Lo uso con JDO – alexey28

Cuestiones relacionadas