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. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "After a quick R of TFM, all I can say is HOLY CR** THAT IS COOL! PostgreSQL was amazing when I first started using it at 7.2, and I'm continually astounded by learning new features and techniques made available by the continuing work of the development team." Berend Tober, http://archives.postgresql.org/pgsql-hackers/2007-08/msg01009.php