2011-02-23 22 views
6

alerón:
Esta es sólo otra Lucene vs vs Sphinx lo que sea,
vi que todos los otros hilos eran casi dos años, por lo que decidió empezar de nuevo ..¿Búsqueda de texto completo más rápido hoy?

Aquí es el requisito:

tamaño de datos: máximo 10 GB.
filas: casi mil millones
la indexación debe ser rápida
búsqueda debe estar bajo 0 ms [OK, broma ... reír ... pero hay que tener presente lo más bajo posible]

En el mundo actual, que/lo/¿cómo lo hago?

edit: Hice un poco de sincronización en lucene, y para indexar datos de 1.8 gb, tomó 5 minutos.
buscando es bastante rápido, a menos que haga un a *. a * toma 400 ~ 500 ms.
Mi mayor preocupación es la indexación, lo que está tomando mucho tiempo, ¡¡y muchos recursos !!

+1

solo tiene que hacer el índice de datos nuevos, datos actualizados, datos eliminados, no siempre toda la colección – ajreal

Respuesta

2

No tengo otra experiencia que no sea con Lucene, es prácticamente la solución de indexación predeterminada, así que no piense que puede equivocarse.

10GB no es una gran cantidad de datos. Podrá volver a indexarlo rápidamente o mantenerlo en SSD para obtener mayor velocidad. Y, por supuesto, mantenga todo su índice en RAM (que es compatible con Lucene) para búsquedas súper rápidas.

+0

Voy a mantener todo en las nubes, por lo No veo a nadie dando SSD como velocidades allí :( Y, por cierto, datos completos en la RAM, no puedo tomarlo para la aplicación en la que estoy trabajando ... Sería como 1000 GB de datos únicos por computadora, por lo que no se puede traer todo a la memoria ... – Shrinath

+0

OK - bueno, los SSD solo hará diff wrt para construir el índice. ¿Está confundido? ¿Dijo que el tamaño máximo de datos es de 10 GB, no de 1000? –

+0

Lol: D cierto, no 1000 GB :) es solo 10 GB ... Verifique las ediciones ahora :) – Shrinath

0

Consulte la wiki de Lucene para obtener consejos sobre improving Lucene indexing speed. Esto es bastante sucinto. En general, Lucene es bastante rápido (se usa para búsquedas en tiempo real). Los consejos serán útiles para descubrir si te estás perdiendo algo "obvio".

+0

He hecho todo "obvio" por ahora :) solo quería saber si "este" ES el camino a seguir :) Y, por cierto, ¿está bien el tiempo de indexación? ¿Son 5 minutos a 1.8GB? – Shrinath

+0

El tamaño es algo impreciso. La indexación de 1.8G de texto plano será diferente de la indexación de 1.8G HTML (que analizará e indexará el texto extraído). Debe ver si es lo suficientemente "rápido" para sus necesidades. Si la velocidad de indexación existente no cumple con sus expectativas, es posible que desee explorar cómo usar Lucene en un entorno en tiempo real. Eso no es trivial. –

+0

@Shrinath: la velocidad de indexación está limitada por la velocidad con la que puede leer el disco y la cantidad de datos que se deben procesar antes de insertar el índice. –

0

Mi mayor preocupación es la indexación, que es tomar tiempo loooonnnnggg, y gran cantidad de recursos !!

Tome un vistazo a Lusql, lo usamos una vez, Fwiw 100 GBdata de MySQL en una máquina decente tomó poco más de una hora para el índice, el sistema de archivos (NTFS)

Ahora bien, si u añadir SSD o cualquier tecnología de disco ultrarrápido, puede bajarlo considerablemente

Cuestiones relacionadas