Búsquedas por Texto findText
Búsquedas por Texto findText
Metodo
public List<T> findText(String key, String value, Boolean caseSensitive, Boolean diacriticSensitive, Document... docSort)
Busca en el texto
public List<T> findTextPagination(String key, String value, Boolean caseSensitive, Boolean diacriticSensitive,Integer pageNumber, Integer rowsForPage, Document... docSort) {
Busca en el texto con paginación
Sintaxis:
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.
Las búsquedas por texto en MongoDB se basan en la descripción: Búsquedas por Texto MongoDB
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(paisesRepository.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 = planetasRepository.findText("idplaneta", query,true,true, new Document("idplaneta",1));
Last updated
Was this helpful?