2010-05-29 6 views
0

J'ai quelques tables qui ne contiennent littéralement que des entiers, pas de "mots" et pour une raison quelconque, Sphinx ne peut pas contenir ces données dans sa bibliothèque. Renvoie juste les erreurs "0 octets" pour ces index.Sphinx non-fulltext, entier seulement recherche

Est-ce possible? Si c'est le cas, comment? Voici un exemple de mon Sphinx.conf pour celui qui échoue.

source track 
{ 
type  = mysql 

sql_host = host 
sql_user = user 
sql_pass = pass 
sql_db  = db 
sql_port = port 

sql_query = SELECT id, user, time FROM track; 

sql_attr_uint = user 
sql_attr_uint = time 

sql_query_info = SELECT * FROM track WHERE id=$id 
} 

index track 
{ 
source  = track 
path  = /var/lib/sphinx/track 
docinfo  = extern 
charset_type = utf-8 
min_prefix_len = 1 
enable_star = 1 
} 

Répondre

3

Vous pouvez le faire, mais a une erreur sphynx bizarre où vous devez retourner dans la requête plus de disques que vous avez des attributs. Si vous modifiez votre SQL pour être:

sql_query = SELECT id AS docId, id, user, time FROM track; 

Cela devrait fonctionner. J'ai vu quelque chose de similaire et je ne sais pas ce que la raison "officielle" est, mais en faisant semblant que la colonne d'identification semblait faire l'affaire.

0

Avant de trouver "comment?" la question est "pourquoi?" Vous utilisez Mysql, les index de mysql sont très bons pour ces indexations.

Questions connexes