Pregunta

En una de nuestras aplicaciones comerciales (Win32, escrita en Delphi) nos gustaría implementar la búsqueda de texto completo.La aplicación almacena datos del usuario en algún tipo de formato binario que no es directamente reconocible como texto.

Idealmente, me gustaría encontrar una solución en proceso (DLL estaría bien) o un servidor local al que pueda acceder a través de TCP (preferiblemente).La API debería permitirme enviar información textual al servidor (junto con los metadatos que representan el blob binario del que proviene) y, por supuesto, debería permitirme hacer una búsqueda de texto completo con al menos un soporte mínimo para operadores lógicos. y búsqueda de subcadenas.Se requiere soporte Unicode.

Encontré una lista extensa de motores de búsqueda en Stack Overflow (¿Cuáles son algunos servidores de búsqueda que existen?) pero realmente no entiendo cuál de esos motores podría satisfacer mis necesidades.Pensé en pedirle opinión a The Collective antes de pasar uno o dos días probando cada uno de ellos.

¿Alguna sugerencia?

¿Fue útil?

Solución

Hay varias opciones en el mercado.Ya sean productos comerciales completos o variantes de código abierto.La elección de un proveedor de búsqueda depende en gran medida de los clientes a los que se dirige.

Microsoft tiene una versión Express gratuita de su servidor de búsqueda.Hasta donde yo sé, la edición Express se limita a ejecutar el nivel de aplicación en un servidor.

También está el apache lucene proyecto que es de código abierto.Tiene una API agradable que es fácil de usar y una gran comunidad de usuarios.El proyecto original está basado en Java, pero también existen otros implementaciones como NLucene para .NET que he usado personalmente.

Otros consejos

Recomiendo echar un vistazo a SQLite: la búsqueda de texto completo está incluida en la última versión.

Supongo que la respuesta depende de tu base de datos.Por ejemplo, SQL Server tiene búsqueda de texto completo y también consultas en inglés si alguna vez es necesario.

Eche un vistazo al uso de PostgreSQL y tsearch.

Intenta usar postgresql con tsearch

Esfinge es probablemente la opción más eficiente y escalable mientras SQLite-FTS3 es la opción más sencilla.

Si bien no está en proceso, solr es muy rápido (basado en Lucene) y fácilmente accesible desde cualquier plataforma (HTTP)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top