vistas una tablas rendimiento recomendaciones queries porque optimizador mejorar lenta las dañan cuello consulta como botella agilizar mysql tags sphinx inverted-index

una - view lenta mysql



Algunas preguntas relacionadas con los índices SphinxSE y RT (1)

Bien, finalmente entiendo cómo funcionan las cosas con la esfinge.

  1. No puede INSERTAR o ACTUALIZAR directamente la tabla SphinxSE. En su lugar, utiliza INSERT / REPLACE mientras está conectado a SphinxQL (directamente al daemon sphinx).
  2. Con 1.10 puede agregar múltiples campos de búsqueda de FullText. Agregué título, etiquetas y contenido. Y la consulta para dar más peso al título, luego las etiquetas y luego el contenido se ve así: SELECT SQL_NO_CACHE * FROM sphinx_docs WHERE query = ''a lot of keywords;weights=3,2,1;''; Uso SQL_NO_CACHE para decirle a mysql que no SQL_NO_CACHE en caché el resultado de esto, porque en las próximas llamadas no puedo obtener el número de filas devuelto por sphinx ( SHOW STATUS LIKE ''sphinx_total_found'' )

  3. Es mejor dejar que sphinx haga toda la clasificación, rellenado y use mysql solo para UNIRSE a la tabla de la que necesita más información.

Además, tengo que decir que intenté muchas veces agregar el plugin sphinxse a mysql sin éxito (interminables horas de espera), así que cambié a MariaDB 5.2.4, que incluye el motor de almacenamiento SphinxSE.

Considero usar la búsqueda de Sphinx en uno de mis proyectos, por lo que tengo algunas preguntas relacionadas.

  1. Al usar SphinxSE y RT index, cada UPDATE o INSERT en la tabla SphinxSE actualizará el índice, ¿verdad? No es necesario llamar al indexador ni nada?
  2. ¿Puedo buscar en ambas etiquetas (palabras clave introducidas por el usuario para un documento) y el contenido y darle más relevancia a las coincidencias de etiquetas? Y si es posible, ¿cómo implemento la búsqueda de etiquetas (ahora las tengo en tablas separadas como un índice invertido)?
  3. Para los atributos de relleno, ¿es mejor colocar duplicados de ellos en la tabla SphinxSE o rellenar usando mysql de la tabla de documentos normales que tengo?

¡Gracias por adelantado!