SQLite tiene bastante bueno texto completo capacidad de búsqueda (mirar hacia arriba FTS sqlite 3/4 - su sorprendentemente bueno)
si quieres sencilla un PHP bricolaje enfoque de indexación utilizando de una gran cantidad de archivos pequeños divididos por un hash de los términos indexados puede funcionar muy bien y la búsqueda puede ser muy rápida incluso en php si te ocupas de diseñarlo. (la idea es hacer una búsqueda en un término solo necesita buscar un archivo muy pequeño que contenga términos que coincidan con el hash y registrar identificaciones; puede usar segmentos bitarray para representar identificadores de registros si desea guardar espacio en HD) .. pero hacer la indexación de cada palabra para el texto completo sería lento en php ... esa parte realmente debería hacerse en c
para búsquedas "borrosas", tal vez consulte el uso de hashes de metaphone.
de herramientas texto completo pre-construidos echa un vistazo a los siguientes: FTS sqlite (3/4! SQLite tiene muy buena capacidad de búsqueda de texto completo), Sphinx, kinoSearch (kinoSearch es un poco como Lucene, pero el back-end es c con una agradable envoltura de perl fácil - también hay cLucene pero creo que todavía es pre-alpha)
Java Lucene (o cualquier cosa basada en Java) probablemente necesite una gran cantidad de ram para separarla para ejecutar una JVM - tan probablemente no tan bueno si tiene un presupuesto
Lo que hace que Google sea diferente de los motores de búsqueda de texto plano es que estudia las relaciones entre las páginas. ¿Cómo relacionarías tus páginas entre sí? Enlaces? Palabras clave/frases? Si no tienes ningún tipo de relación, estarás mejor con una búsqueda de texto. –
Nuestra base de datos de 50,000 artículos toma mySQL aproximadamente 20 segundos para hacer una búsqueda de texto plano. Nuestras páginas de periódicos OCRed son un conjunto de datos mucho más grande. Necesitamos métodos más rápidos de indexación y recuperación similares a Google para buscar en nuestros periódicos en menos de un segundo. – lkessler
los motores de búsqueda no usan bases de datos SQL porque ralentizan la búsqueda. Puedes usar Lucene o codificar tu propio motor de búsqueda. php no es un lenguaje adecuado para desarrollar un motor de búsqueda. – alienCoder