Donnerstag, Mai 28, 2020

Wie nutze ich mehrere Quellen in einem index in der Sphinx?

Die Sphinx config-Datei Hinweise zur it-Unterstützung von mehreren Quellen für einen index, wie kann ich eigentlich angeben?

Hier ist der Ausschnitt aus der config-Datei:

# document source(s) to index
# multi-value, mandatory
# document IDs must be globally unique across all sources
source                  = src1

Ich habe versucht eine Einstellung in einem der folgenden Formate:

source = src1, src2
source = [src1, src2]

und ich habe auch versucht, mit Hilfe der source-variable zweimal, zB:

source = src1
source = src2

Ich vermute, ich bin einfach nur ein dunce, da ich nicht sicher bin ob die syntax in der config-Datei. Irgendwelche Ideen?

Mit der zweiten code-Schnipsel bekomme ich die folgende Fehlermeldung:

ERROR: index 'iwa': fulltext fields count mismatch (me=iwa_publications, in=iwa_events, myfields=3, infields=8).

Den beiden Quellen sind iwa_events und iwa_publications. Beide haben eindeutige id-Spalten, und beide Quellen arbeiten, wenn Sie individuell indiziert.

InformationsquelleAutor robotmay | 2010-01-08

3 Kommentare

  1. 1

    Wenn Sie wollen, suchen mehrere Indizes auf einmal, die Sie angeben müssen, die Sie in Ihrem PHP-code, nicht in der Konfigurationsdatei.

    Nur teilen Sie die Indizes in Ihrer Query – Methode (siehe Dokumentation):

    $cl->Query ( "test query", "index1 index2" );

    Entsprechend der Dokumentation Sie können.
    Ihre zweite code-snippet, das das richtige format ist, um der Liste mehrere Quellen. Bitte Bearbeiten Sie die Frage und sagen Sie uns was Ihre eigentliche problem ist.

    • Ich hatte gehofft, zu speichern nur ein index mit mehreren Quellen, die zu sein scheint, unterstützt laut der config-Datei. Oder bin ich Total Irre? 🙂
    • Erledigt, sorry, wenn meine ursprüngliche Erklärung war nicht klar genug. 🙂
    • Ah, ich glaube ich hab herausgefunden warum es nicht funktionieren: „Quell-Schemata müssen identisch sein, um gespeichert werden, innerhalb des gleichen Ranges.“ Huch, ganz verpasst, dass Zeile!
  2. 1

    Problem gefunden: ich verlesen der Punkt, der mit mehreren Quellen. Es scheint, dass mehrere Quellen können in der Tat verwendet werden, in einem index, aber nur, wenn Sie identisch sind in Bezug auf schema, da nach dieser Zeile in den docs:

    „Quelle Schemata müssen identisch sein, um gespeichert werden, innerhalb des gleichen index“.

    Vielen Dank für die Hilfe, Jan. Es wurde mir schlecht für das Missverständnis. 😀

  3. 1

    ja. Quelle Schemata müssen identisch sein; aber Sie müssen nur die gleiche Anzahl von Feldern.
    Sie können sogar verwenden Sie das gleiche Feld zweimal, wenn nötig. nur geben die Felder denselben Namen wie diese in allen queries: sql_query = select id, catname as one, country as two, currency as three, language as four from catalog

Kostenlose Online-Tests