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