Quiero una biblioteca que pueda usar con mi sitio, en la que pueda ingresar el título y la descripción de todos los elementos que tengo, y luego ingresar términos de búsqueda en inglés natural y obtener resultados relevantes. Estoy muy dispuesto a buscar soluciones pagas o incluso SaaS, así como software de código abierto.
Para evitar un problema X/Y , este es mi problema:
Tengo esta base de datos de artículos que se venden en un sitio de comercio electrónico. La gente quiere encontrar artículos y hay una barra de búsqueda en la parte superior. Antes de llegar aquí, simplemente tomó cada palabra clave e hizo una consulta similar a
SELECT name,description,price,etc...
FROM products
WHERE name LIKE '%keyword1%'
OR name LIKE '%keyword2%'
OR description LIKE '%keyword1%'
OR description LIKE '%keyword2%'
Luego lo cambié para usar el índice FULLTEXT de MySQL tanto en el nombre como en la descripción, y luego implementé una solución casera para analizar cadenas como "4 pies" tanto en la consulta como en el título y compararlas como medidas en lugar de como texto simple. Incluso ahora, muchos productos no aparecen cuando deberían o están demasiado abajo en la lista. Después de todo esto, me di cuenta de que alguien había hecho esto antes y que debería usar su código en lugar de intentar hacerlo yo mismo, ya que ya he invertido demasiado tiempo en esto.
Una mirada a Apache Solr o ElasticSearch podría ser útil.
Puede instalarlos usted mismo o puede usar algún proveedor de SaaS que los ofrezca.
MariaDB/MySQL ya tiene (excelente) búsqueda de texto completo . Le recomiendo que primero intente usar ese en lugar de una biblioteca de terceros.
albahaca bourque
Shelvacu