2010-04-30 14 views
13

Tengo que indexar diferentes tipos de datos (documentos de texto, mensajes de foro, datos de perfil de usuario, etc.) que deberían buscarse juntos (es decir, una búsqueda única devolvería los resultados de los diferentes tipos de datos).¿Índice múltiple o único en Lucene?

  • ¿Cuáles son las ventajas y desventajas de tener múltiples índices, uno para cada tipo de datos?

  • ¿Y las ventajas y desventajas de tener un solo índice para todo tipo de datos?

Gracias.

Respuesta

2

No necesariamente responder a sus preguntas directas, pero ...;)

me gustaría ir con un índice, añadir un campo de palabras clave (indexados, almacenado) para el tipo, que va a dejar a filtrar si es necesario , además de indicar la diferencia entre los resultados que recibe de vuelta.

(y tal vez en la vena de sus preguntas ... usar índices separados le permitirá a cada corpus tener su propia calificación de relevancia, ¿no sabe si los términos excesivamente repetidos en un corpus arrojarán la relevancia de los documentos en otros?)

1

Debería pensar de forma lógica en qué contiene cada conjunto de datos y diseñar sus índices por materia u otros criterios (como geografía, unidad de negocio, etc.). Como regla general, su arquitectura de índice es similar a cómo lo haría con las bases de datos (es probable que no combine una contabilidad con una base de datos de personal, por ejemplo, incluso si es técnicamente factible).

Como señaló @llama, la creación de un solo índice uber afecta los puntajes de relevancia, problemas de seguridad/acceso, entre otras cosas y causa un nuevo conjunto de dolores de cabeza.

En resumen: piense en una estructura de particiones lógicas según las necesidades de su empresa. Sería difícil de explicar sin más antecedentes.

5

Si desea buscar todos los tipos de documentos con una búsqueda, es mejor que mantenga todos los tipos en un índice. En el índice, puede definir más tipo de campo que quiera Tokenizar o Vectorar. Lleva un tiempo introducir a cada IndexSearcher un directorio que incluya indeces.

Si desea buscar términos por separado, sería mejor que indexe cada tipo a un índice. único índice es más estructural que el índice múltiple.

Por otro lado, podemos equilibrar nuestra carga con múltiples indeces.

Cuestiones relacionadas