En 2010 fui contratado por el gobierno de la ciudad de Buenos Aires de un sistema en dbII400 a postgres y su aplicacion para el sistema sume, (sistema único de mesa de entrada), un sistema de registracion de las quejas de los vecinos de la ciudad. el sistema consitia que el sistema buscaba en enormes campos de texto sin ninguna identificacion , además se habian digitalizado las actas desde 1950 en adelante (estaban en papell) mi tarea fue migrarlo a postgresql, pero postgres no tenia soporte de textsearch en esa epoca era un addon, que compile junto a no se cuantas cosas más y terminé con un postgres con soporte el uso de gist y campos tsvector y muchas rutinas algunas en C, el sistema volvió a ser usable y funciona con éxito permitiendo búsquedas en el contenido del texto , ese es el camino a seguir Posteriormente utilize la misma tecnologia para buscar en una gran base "parecidos" incluso como suenan, como sed oyen utilizando búsquedas léxicas, te recomiendo ir por ese camino.
saludos Juan On Thu, Dec 14, 2023 at 9:17 AM kernel <jucab...@gmail.com> wrote: > > El 13/12/2023 a las 15:23, Alvaro Herrera escribió: > > Juan José Santamaría Flecha escribió: > >> On Wed, Dec 13, 2023 at 9:49 AM kernel <jucab...@gmail.com> wrote: > >> > >>> Tengo un campo varchar que contiene descripciones de libros, me > gustaría > >>> poder buscar por diferentes palabras, pero pueden estar en orden > >>> distinto o solo contener algunas, no se si hay algo desarrollado o > tengo > >>> que hacer varias busquedas > >> Lo que quieres hacer suena a búsqueda Full Text: > >> > >> https://www.postgresql.org/docs/current/textsearch.html > > Usando websearch_to_tsquery() posiblemente. Puede ser necesario adornar > > con la extensión unaccent. Si tienes, por ejemplo, el titulo del libro > > en una columna y la descripción en una columna separada, puedes crear un > > índice que agrupa las palabras de ambas columnas, de manera que una > > búsqueda encuentre cuando las palabras aparezcan en cualquiera de los > > dos. También puedes darle "pesos" distintos a las palabras en cada > > columna (función setweight), de manera que si una palabra de la búsqueda > > aparece en el título, el resultado te muestre ese libro antes que un > > libro para el cual la palabra ocurre en la descripción. > > > > Generalmente es bueno saber en qué idioma están los textos, para que > > puedas decidir qué "stemming" usar. Mi impresión es que para el español > > esto funciona bien, pero no me ha tocado implementar aplicaciones de > > verdad usando esta funcionalidad. > > voy a ponerme a estudiar el asunto, ya me habéis facilitado varios > caminos a explorar > > Gracias por vuestro tiempo, un Saludo > > > >