Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einige Fragen zu SphinxSE- und RT-Indizes

OK, ich verstehe endlich, wie die Dinge mit dem Sphinx-Ding funktionieren.

  1. Sie können die SphinxSE-Tabelle nicht direkt einfügen oder aktualisieren. Stattdessen verwenden Sie INSERT/REPLACE, während Sie mit SphinxQL verbunden sind (direkt mit dem Sphinx-Daemon).
  2. Mit 1.10 können Sie mehrere durchsuchbare FullText-Felder hinzufügen. Ich habe Titel, Tags und Inhalt hinzugefügt. Und die Abfrage, um dem Titel, dann den Tags und dann dem Inhalt mehr Gewicht zu verleihen, sieht folgendermaßen aus:SELECT SQL_NO_CACHE * FROM sphinx_docs WHERE query = 'a lot of keywords;weights=3,2,1;'; Ich verwende den SQL_NO_CACHE um mysql anzuweisen, das Ergebnis nicht zwischenzuspeichern, da ich bei den nächsten Aufrufen die Anzahl der von Sphinx zurückgegebenen Zeilen nicht erhalten kann (SHOW STATUS LIKE 'sphinx_total_found' )

  3. Es ist besser, Sphinx das ganze Sortieren und Ausfüllen zu überlassen und mysql nur zu verwenden, um der Tabelle beizutreten, von der Sie mehr Informationen benötigen.

Außerdem muss ich sagen, dass ich viele Male erfolglos versucht habe, das Sphinxse-Plugin zu MySQL hinzuzufügen (endlose Wartezeiten), also bin ich zu MariaDB 5.2.4 gewechselt, das die SphinxSE-Speicher-Engine enthält.