2017-01-09 3 views
0

Ich erstelle eine sehr komplexe Sphinx .cnf Datei auf einer sehr großen MySql Tabelle und um es effizient zu testen, habe ich eine Testkonfiguration, die ich auf einer kleineren Tabelle verwenden. Sobald ich das Verhalten erwarte, das ich erwarte/will, kopiere ich den neuen Konfigurationsinhalt in die Arbeitskonfiguration. Aber das letzte Mal, dass ich das getan habe und die Abfrage vor Ort gedreht habe, gab mir query: “query error: invalid character '|' in field block operator”, obwohl die Rotation erfolgreich war. Ich verstehe, dass dies eine vage Frage ist, aber gibt es irgendwelche Vorschläge, wonach Sie suchen sollten? Meine Konfiguration ist sehr groß und komplex und eine Zeile für Zeile ist nicht praktikabel. Ich weiß nur, dass:Sphinx Feld Block Operator Fehler

  • Wenn ich die Site-Abfrage an die älteren Arbeits Config arbeite
  • wieder zurück
  • Wenn ich die Abfrage auf dem Testgelände mit dem Test sphinx config es funktioniert
  • Wenn ich ersetzen Die funktionierende Konfiguration mit der Funktionstest-Konfiguration I (plötzlich) bekomme diesen Fehler.
+0

denke ich an die Diagnose jede Hoffnung haben, würden weitere Details benötigen. Nur ein anderer Vorschlag ist, in zwei Konfigurationen in einer separaten Datei zu speichern und sie mit einem 'diff' Programm zu vergleichen, vielleicht eine kleine Änderung, die Sie nicht bemerkt haben. – barryhunter

+0

@barryhunter Das ist mein nächster Schritt, aber es gibt auch große Unterschiede, die unional sind. Ich dachte vielleicht der Fehler selbst wies auf ein Problem in der Abfrage selbst gegenüber der Config, da der Index gedreht "erfolgreich", noch einen Fehler, wenn die Abfrage ausgeführt wird. – user3649739

+0

@barryhunter Die beiden Indizes sind weit genug entfernt, wo die Unterschiede nicht viel sagen. Das größere Problem/Hinweis ist jedoch, dass wenn ich den Testindex über kopiere, scheitert es an der gleichen Abfrage, dass es nicht scheitert, wenn der Testindex auf die gleiche Weise abgefragt wird. Ich dachte, das könnte ein Hinweis darauf sein, was man suchen sollte. – user3649739

Antwort

0

Sie Abfrage kann dies mag:

@(column1|column2|column3) some search keyword 

einfach ersetzen | zu,:

@(column1,column2,column3) some search keyword 

Und entsprechend:

@(column1,column2,column3) some | search | keyword 
Verwandte Themen