Búsquedas complejas en Postgresql

La mayoría de las veces realizaremos búsquedas por patrones conocidos y fáciles de obtener, simples y repetitivos, búsquedas directas, o parciales utilizando el comando “like“. Pero otras veces la información que intentamos localizar no se encuentra formateada como esperamos, conteniendo diferentes símbolos o signos repartidos entre el texto, lo cual dificulta enormemente encontrar los datos que buscamos.

Postgres cuenta con la función “similarity“. Esta función elimina todos los caracteres extraños; guiones, comas, puntos, signos de admiración y exclamación, etc. Dejando el texto lo más limpio posible, y divide la cadena resultante en trigramas. Realizando la comparación entre estos trigramas se obtiene un porcentaje de similitud. Este procedimiento funciona realmente bien al realizar búsquedas con cadenas complejas pero el problema es que es realmente lento. En una tabla con 200.000 registros, realizar una búsqueda con similarity puede llevar de 6 a 10 segundos, incluso más.

Para utilizar similarity en Postgres, necesitamos instalar la extensión pg_trgm con el siguiente comando:

CREATE EXTENSION pg_trgm;

Podemos obtener el trigrama de una cadena con:

select show_trgm('A-Team Year?, the')

Obtendremos el siguiente array:

{”  a”,”  t”,”  y”,” a “,” te”,” th”,” ye”,”am “,”ar “,eam,ear,”he “,tea,the,yea}

Para realizar una busqueda con similarity utilizamos la siguiente consulta:

SELECT * FROM filmografia
WHERE similarity('A-Team Year?, the', titulo) > 0.90

Titulo, es el campo en el que realizamos la búsqueda. 0.90 significa el porcentaje de similitud que requerimos. Si la comparación es superior al porcentaje requerido, se incluirá en los resultados. Podemos jugar con diferentes porcentajes hasta encontrar el que mejor se adapte a las búsquedas requeridas.

Este método es muy efectivo al realizar búsquedas, aunque también es muy lento.

Búsquedas contranslate

Otro método de búsqueda que nos puede resultar útil es utilizar la función “translate“. Con translate podemos reemplazar una serie de caracteres por otros:

select lower(translate('A-Team Year?, the', ' ,-,?,(,)', ''))

Con la consulta anterior obtenemos: “ateamyearthe

Como vemos se han eliminado todos los caracteres superfluos y los espacios, e igualando la cadena de búsqueda con las cadenas a explorar, podremos realizar búsquedas más complejas con buenos resultados.

Aquí la utilizamos para realizar búsquedas eliminando todos los caracteres innecesarios:

SELECT * FROM filmografia
WHERE LOWER(translate(titulo, ' ,-,?,(,)', '')) = LOWER(translate('A-Team Year?, the', ' ,-,?,(,)', ''))

Búsquedas con “Expresiones regulares”

Al realizar determinadas búsquedas también podemos utilizar “expresiones regulares“. Nos permiten obtener resultados que de otra forma seria mucho más complicado o no seria posible.

Si por ejemplo queremos buscar todas las cadenas que comienzan por un número podemos utilizar la siguiente expresión:

SELECT * FROM filmografía
WHERE titulo ~ '^[0-9].*'

Obtendremos todas las cadenas que por lo menos el primer carácter sea un número.

Existen infinidad de formas en las que podemos obtener aquellos datos que necesitamos, aquí, solo hemos comentado algunas de ellas.



Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Una manera de trabajar sin distracciones, haciendo uso del terminal

 

A veces, o casi siempre, nuestro escritorio es un verdadero casos de aplicaciones y ventanas abiertas, las cuales tenemos que ir moviendo o apartando para encontrar lo que buscamos, y al trabajar en una aplicación, todo este conglomerado de información nos puede distraer de nuestro trabajo. Si te gusta trabajar en un entorno limpio y sin distracciones, prueba a activar esta función con el comando:

defaults write com.apple.dock single-app -bool true; killall Dock

Ahora la aplicación activa es la que selecciones en el Dock, ocultando todas las otras aplicaciones que tengas abiertas.

Para desactivar esta función utilizaremos en comando:

defaults write com.apple.dock single-app -bool false; killall Dock

Si eres de los que tienen miedo a utilizar el terminal de Mac OS X, puedes usar éste otro truco.

Otra forma de ocultar ventanas es utilizando las teclas de acceso rápido. Pulsando “CMD + H“, ocultamos la ventana que actualmente se encuentra activa.

Con “ALT + CMD + H“, ocultaremos todas las ventanas que se encuentren abiertas en el escritorio menos la que actualmente éste activa.

 

Trucos para el terminal de Mac

Trucos para el terminal de Mac (AppStore Link) Trucos para el terminal de Mac
Desarrollador:

Rated:
Precio: 0,49 € Enlace descarga

 

Conoce todos los secretos de Mac OS X

Mac OS X (AppStore Link) Mac OS X
Desarrollador:

Rated:
Precio: 0,49 € Enlace descarga

 

Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Personalizar el fondo de las carpetas del Finder

 

Para personalizar el fondo de una carpeta del Finder debemos elegir la opción de visualización por iconos, es la primera opción que encontramos por defecto en los iconos situados en la parte del panel superior, o bien desde “Finder/Visualización/Como iconos”. Ahora debemos pulsar con el botón secundario de nuestro ratón sobre el fondo en blanco, en el menú contextual que aparece tendremos que seleccionar la opción “Mostar opciones de visualización”, en la nueva pantalla encontramos en la parte inferior el apartado “Fondo”, aquí podemos seleccionar entre tres diferentes opciones:

  • Blanco – Seleccionamos como fondo el color blanco
  • Color – Nos permite elegir el color para el fondo
  • Imagen – Deberemos arrastrar la imagen que queremos utilizar para el fondo al recuadro marcado como “Arrastrar imagen aquí”

Otras opciones que podemos modificar desde este panel son:

  • Tamaño de los iconos – Nos permite hacer más grandes o pequeños el tamaño de los iconos
  • Espaciado de la cuadrícula – Podemos aumentar o disminuir el margen de separación entre los iconos
  • Tamaño del texto – Nos permite aumentar o disminuir el tamaño del texto de la descripción del archivo
  • Posición de la etiqueta – Nos permite cambiar la posición de la etiqueta, ésta puede estar debajo o en el lateral derecho del icono

Una interesante opción para dar un toque de personalidad a las carpetas favoritas del Finder.

Conoce todos los secretos de Mac OS X

 

Mac OS X (AppStore Link) Mac OS X
Desarrollador:

Rated:
Precio: 0,49 € Enlace descarga

 

Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Trucos Mountain Lion. Notas

 

 

La nueva versión de OS X, Mountain Lion, nos trae la aplicación “Notas“, estupendo programa que ahora sincroniza nuestras notas del iPad e iPhone con el ordenador. Podemos redactar una nota rápidamente en el Mac, y esta se sincroniza al instante con todos nuestros dispositivos iOS.

Para realizar la sincronización deberemos de disponer de cuenta en iCloud, es gratuita hasta 5 GB, y tener el mismo ID de Apple en todos los dispositivos que queremos sincronizar.

A la versión de escritorio se ha añadido en icono “Enviar“, el mismo que esta en los dispositivos iOS. Desde este icono podemos enviar directamente la nota por “Mensaje” o “Correo Electrónico“.

 

 

 

Libro para iPad - Grande, Pequeño, Astronómico y cotidiano
 

Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Trucos Mountain Lion, se ha cambiado la forma de eliminar iconos del Dock

 

eliminar iconos del Dock con Mountain Lion

 

Mountain Lion a cambiado la forma de eliminar los iconos de Dock, un sutil cambio, la verdad, pero que aporta un poco más de seguridad, ya que con el antiguo sistema era fácil eliminar un icono sin querer.

Ahora para eliminar un icono del Dock tenemos dos opciones, la de toda la vida, arrastrar el icono que queremos borrar fuera del Dock, pero con la sutil diferencia de que lo deberemos de mantener fuera del Dock durante más de un segundo, de esta forma el sistema interpreta que lo queremos borrar, si realizamos la misma acción, pero con un movimiento rápido, el icono no será borrado y volverá a su anterior posición. Una gran mejora para no borrar iconos accidentalmente, por lo menos a mi me ha pasado alguna que otra vez.

La otra opción es pulsar el botón secundario del ratón y elegir Opciones/Eliminar del Dock.

¿Cual de estas opciones te gusta más?

 

 

 

Libro para iPad - Grande, Pequeño, Astronómico y cotidiano
 

Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share