/ / Objectify filtra los filtros como "el nombre contiene" - java, google-app-engine, objectify

Objectify filtra los filtros como "el nombre contiene" - java, google-app-engine, objectify

Con Google App Engine usando Objectify para consultar el almacén de datos, me gustaría usar una consulta como

objectifyService.query(Entity.class).filter("name contains", a);

que devolvería una lista con todas las entidades que contienen el carácter "a" en sus nombres. Sin embargo, el operador de contenidos no existe.

¿Hay una manera simple de hacer eso?

Respuestas

2 para la respuesta № 1

Puedes trabajar un equivalente simplificado de laservicio de búsqueda de texto completo dividiendo su campo de nombre en las partes que desea buscar y almacenándolas como una propiedad indexada. Incluso puede usar los analizadores de Lucene para tokenizar y detener sus campos.

Esto ocurre mucho cuando se trabaja con el almacén de datos: si no tiene un operador de consultas que haga lo que quiere, preindexe los datos relevantes para que su consulta sea ahora una prueba de igualdad.

Alternativamente, utilice el servicio FTS.


0 para la respuesta № 2

La respuesta es "el operador no existe": el almacén de datos de Google no admite este tipo de filtro. Para buscar, debe usar el motor de búsqueda: https://cloud.google.com/appengine/docs/java/search/