utilizados principales motores mas lista internacionales español busqueda buscadores linux search web-applications full-text-search

linux - principales - ¿El mejor motor de búsqueda de texto para integrarse con una aplicación web personalizada?



motores de busqueda mas utilizados (6)

Tenemos una aplicación web que permite a los usuarios cargar documentos, crear sus propios documentos, etc. Los archivos cargados se almacenan en Amazon S3, la información creada se almacena en una base de datos MySQL. Lo que estoy buscando es algún tipo de motor de búsqueda, donde le proporciono todos nuestros documentos de texto, cada uno con una ID única, y crea un índice o lo que sea. Más tarde, puedo darle consultas de búsqueda, y sacará los mejores documentos que coincidan (a través de su ID), junto con fragmentos de texto que coincidan.

Básicamente, queremos permitir a nuestros usuarios buscar a través de su repositorio de artículos cargados, junto con cualquier cosa que otros usuarios hayan marcado como pública. La solución debería ejecutarse en un servidor Linux estándar, e idealmente sería de código abierto, pero también consideraré soluciones pagas si no tienen un precio escandaloso.

Hasta ahora, he encontrado tres posibles candidatos:

  1. Búsqueda de texto completo de MySQL : algunos informes que he leído son muy lentos
  2. Apache Lucene : desafortunadamente escrito en Java, pero lo usaré si es necesario. Supuestamente rápido
  3. Sphinx : no parece ser tan popular, idealmente cualquier solución que encuentre tendrá mucho apoyo de la comunidad.

Por favor, avíseme si hay otras buenas opciones que he pasado por alto, o si tiene experiencia con alguna de las anteriores.


Echa un vistazo a Solr . Se basa en Lucene, por lo que es muy rápido y es muy fácil de usar desde cualquier plataforma.


Hay un puerto Ruby de Lucene llamado " Ferret ". Además de Ruby API, puede acceder a la implementación c subyacente llamada "cFerret".




También hay Xapian que es rápido y es bastante personalizable.

Tiene soporte para indexadores personalizados que permiten indexar datos que no están almacenados en una base de datos que podría ser útil para sus documentos almacenados en S3.


Es posible que valga la pena considerar a Sphinx , ya que funciona bien con varios RDMS comunes (especialmente MySQL)