2016-10-20 6 views
0

Ich habe 2 Sphinx Indizes: index1 und index2.Erweitern Sphinx Suche Ausgabe mit Index-Namen

Wenn ich die Suche in index1: Ich zwei Spiele haben:

{ error: '', 
    warning: '', 
    status: [ 0 ], 
    fields: [ 'name' ], 
    attrs: [], 
    matches: 
    [ { id: 5731, weight: 2, attrs: {} }, 
    { id: 17236, weight: 2, attrs: {} } ], 
    total: 2, 
    total_found: 2, 
    time: 0, 
    words: [ { word: '*foo*', docs: 2, hits: 4 } ] } 

Jetzt kann ich diese zwei Datensätze aus der Datenbank holen und an den Client zurück.

Als ich suche gleichen Begriff in index2: Ich drei Spiele haben:

{ error: '', 
    warning: '', 
    status: [ 0 ], 
    fields: [ 'name' ], 
    attrs: [], 
    matches: 
    [ { id: 28, weight: 1, attrs: {} }, 
    { id: 41, weight: 1, attrs: {} }, 
    { id: 42, weight: 1, attrs: {} } ], 
    total: 3, 
    total_found: 3, 
    time: 0, 
    words: [ { word: '*foo*', docs: 3, hits: 3 } ] } 

Jetzt kann ich diese drei Datensätze aus der Datenbank holen und an den Client zurück.

Wenn ich in alle Indizes Suche Ich habe fünf Datensätze bekommt:

{ error: '', 
    warning: '', 
    status: [ 0 ], 
    fields: [ 'name' ], 
    attrs: [], 
    matches: 
    [ { id: 5731, weight: 2, attrs: {} }, 
    { id: 17236, weight: 2, attrs: {} }, 
    { id: 28, weight: 1, attrs: {} }, 
    { id: 41, weight: 1, attrs: {} }, 
    { id: 42, weight: 1, attrs: {} } ], 
    total: 5, 
    total_found: 5, 
    time: 0, 
    words: [ { word: '*foo*', docs: 5, hits: 7 } ] } 

Das Problem ist Indizes für verschiedene Datenbanktabellen erstellen. Also weiß ich eigentlich nicht, was mit Matches zu tun ist, verursacht id s Verweis auf verschiedene Tabellen.

Wie kann ich Indexnamen mit Suchergebnissen oder Quellen oder etwas zu wissen, was genau gefunden wurden?

Ich verwende sphinxapi node.js Client, wenn es darauf ankommt.

+0

Ich bin neu in Sphinx. Sorry für Dummy Frage, ich habe versucht, es google, wirklich –

Antwort

1

eine explizite Attribut zu den Indizes hinzufügen :)

source index1 { 
    sql_query = SELECT id, title, 1 as idx FROM ... 
    sql_attr_uint = idx:2 

source index2 { 
    sql_query = SELECT id, title, 2 as idx FROM ... 
    sql_attr_uint = idx:2 

(die Zahl in sql_attr_uint ist die Anzahl der Bits für das Attribut)