Ya esta disponible la versión 0.2 de jmoordb y ejbmoordb. Se incluye el soporte para busquedas por texto y expresiones regulares que se utilizan en MongoDB.
Búsquedas por Texto findText
Búsquedas por Texto findText
Base de datos | |
MongoDB |
Sintaxis:
public List<T> findText(String key, String value,Boolean caseSensitive,Boolean diacriticSensitive, Document... docSort)
Atributo | Descripción |
caseSensitive | true :Habilita la búsqueda sensitiva (mayúscula y minúscula) false: Deshabilita la búsqueda sensitiva |
diacriticSensitive | Habilita o deshabilita la búsqueda diacritico. |
El índice de texto de la versión 3 es diacrítico insensible. Es decir, el índice no distingue entre caracteres que contienen marcas diacríticas y su contraparte no marcada, como é, ê y e. | |
En nuestro caso son útiles por ejemplo en una aplicación Java EE para usar autocomplete o búsquedas por un texto.
https://docs.mongodb.com/manual/reference/operator/query/text/
Se define un indice de texto
db.planetas.createIndex( { idplaneta: "text" } )
Se pueden ejecutar consultas
db.planetas.find( { $text: { $search: "tier" } } )
Usando JMoordb
Crear el indice
if(paisesFacade.createIndex(new Document("idpais","text"))){
System.out.println("creo el indice");
}else{
System.out.println("no creo el indice");
}
Ejemplo Realizar la consulta
Buscar los documentos que el atributo idplaneta tenga una letra a
String query ="a";
List<Planetas> suggestions = planetasFacade.findText("idplaneta", query,true,true, new Document("idplaneta",1));
Comments