Estoy leyendo un libro sobre Sphinx y menciona que para aprovechar los múltiples núcleos y la tecnología Sphinx en sí misma, inevitablemente tendré que dividir un gran índice en los más pequeños y consultarlos en una consulta de múltiples índices. Sin embargo, el libro no entra en más detalles.Cómo aprovechar los múltiples índices de Sphinx para mejorar el rendimiento
¿Cuáles son las estrategias generales para esto? ¿Simplemente lo divide de una manera parecida a UNIÓN, p.
index1: SELECT ... FROM table LIMIT 0, 1000
index2: SELECT ... FROM table LIMIT 1000, 1000
...
Y luego reconstruye estas piezas de vez en cuando. Cuando se realiza la búsqueda ¿diferentes núcleos procesarán estos índices en paralelo? ¿O es algo diferente como separar elementos existentes en un índice más grande y artículos más nuevos que se están agregando a un índice más pequeño? ¿O separar campos de texto en un índice y atributos en otro?
Buena respuesta +1. – Yavar
Gracias! Espero que esto ayude. – vfedorkov
@vfedorkov Usé el mismo método que tú, teniendo múltiples índices y usando el operador de módulo (%) ... pero ¿podrías decirnos qué quieres decir con respecto al operador% que tiene inconvenientes? Tenemos más de 50 millones de palabras clave, utilicé este operador al indexar, pero parece estar bien ... aunque tardó aproximadamente 2 a 3 horas en indexarse. Tenemos alrededor de 8 índices, ya que estamos usando 8 núcleos para nuestro servidor. por lo tanto, utilicé id% 8 = 1, id% 8 = 2, etc. –