Tengo millones de artículos ordenados por una puntuación precalculada. Cada elemento tiene muchos atributos booleanos. Let dice que hay unos diez mil atributos posibles en total, cada elemento tiene una docena de ellos.Solución de Datastore para la búsqueda de etiquetas
Me gustaría poder solicitar en tiempo real (unos milisegundos) los n primeros elementos dados ~ cualquier combinación de atributos.
¿Qué solución recomendarías? Estoy buscando algo extremadamente escalable.
-
- Actualmente estamos buscando en mongodb y la matriz de índice, lo que ves ningún tipo de limitación?
- SolR es una posible solución, pero no necesitamos capacidades de búsqueda de texto.
cuando dice "ordenado por puntaje" ¿quiere decir que esto ya está precalculado? Si es así, entonces SOLR puede no proporcionar ningún beneficio. De lo contrario, SOLR proporciona una clasificación de relevancia muy potente y personalizable. – nickdos
Millones de artículos no son un problema para SOLR, pero 10.000 posibles atributos _ podrían ser un problema. SOLR admite campos dinámicos para que no tenga que definir todos los atributos, pero la memoria podría explotar con un esquema ancho/disperso. Otros pueden aconsejar sobre esto mejor. – nickdos
@nickdos sí, el puntaje está precalculado. Y creo que tienes razón, la parte difícil es la gran cantidad de atributos. No sé cómo mongodb manejar esto. ¿Crea un índice por atributos? ¿Es posible tener tantos índices? Vamos a probar de todos modos, pero me gustaría estar seguro de que no perdemos la estrategia correcta. – log0