2010-01-08 2 views
4

Le fichier de configuration Sphinx indique qu'il prend en charge plusieurs sources pour un index, comment puis-je le spécifier?Comment utiliser plusieurs sources dans un index dans Sphinx?

est ici l'extrait du fichier de configuration:

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

J'ai essayé d'installer dans les formats suivants:

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

et j'ai aussi essayé d'utiliser la variable source deux fois, par exemple :

source = src1 
source = src2 

Je pense que je vais être un cancre, comme je ne suis pas sûr de la syntaxe à utiliser dans la configuration f ile. Des idées?

En utilisant le deuxième extrait de code que je reçois l'erreur suivante:

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

Les deux sources sont iwa_events et iwa_publications. Les deux ont des colonnes id uniques, et les deux sources fonctionnent lorsqu'elles sont indexées individuellement.

Répondre

1

Si vous souhaitez rechercher plusieurs index à la fois, vous devez les spécifier dans votre code PHP, pas dans le fichier de configuration.

Juste séparés les index dans votre méthode Query (voir documentation):

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

Selon le documentation vous pouvez. Votre deuxième extrait de code est le bon format pour lister plusieurs sources. S'il vous plaît modifier votre question pour nous dire quel est votre problème réel.

+0

J'espérais stocker seulement un index qui contient plusieurs sources - qui semble être supporté selon le fichier de configuration. Ou suis-je gravement trompé? :) – robotmay

+0

Désolé, voir mon édition. –

+0

Fait, désolé si mon explication originale n'était pas assez claire. :) – robotmay

1

Problème trouvé: J'ai mal interprété le point d'avoir plusieurs sources. Il semblerait que plusieurs sources peuvent en effet être utilisées dans un index, mais seulement si elles sont identiques en termes de schéma, comme selon cette ligne dans la documentation:

"source schemas must be the same in order to be stored within the same index."

Merci beaucoup pour l'aide, Jan C'était mauvais pour le malentendu. : D

1

oui. les schémas sources doivent être identiques; mais vous avez seulement besoin du même nombre de champs. vous pouvez même utiliser le même champ deux fois si nécessaire. donnez simplement des champs de même nom comme ceci dans toutes les requêtes: sql_query = select id, catname as one, country as two, currency as three, language as four from catalog

Questions connexes