2016-11-03 1 views
0

J'ai un problème avec la recherche de sphinx. J'ai chaîne pour l'indexationRechercher des caractères spéciaux par espace dans le sphinx

xyz a'qwerty

Je dois trouver si j'utilise

xy - ok

xy une - ok

xyz a'qwerty - ok

xyz un azerty - ok

xyz un qwe - pas ok

Je RLY ne peut pas atteindre un bon résultat, savoir à quelqu'un comment faire cela? Mon index ressemble à ceci, regex_filters a été quelques expériences donc, peut être enlevé.

index ProductSearch 
{ 
    source   = ProductSearchSource 
    path   = c:/wamp/sphinx/data/product 
    docinfo   = extern 
    enable_star  = 0 
    expand_keywords = 1 
    min_word_len = 2 
    min_prefix_len = 1 
    charset_type = utf-8 
    charset_table = 0..9, A..Z->a..z, _, a..z, U+0022, U+0026, U+0027, U+0060, U+00B4, U+002E, U+0e1->a, U+0c1->a, U+10d->c, U+10c->c, U+10f->d, U+10e->d, U+0e9->e, U+0c9->e, U+11b->e, U+11a->e, U+0ed->i, U+0cd->i, U+148->n, U+147->n, U+0f3->o, U+0d3->o, U+159->r, U+158->r, U+161->s, U+160->s, U+165->t, U+164->t, U+0fa->u, U+0da->u, U+16f->u, U+16e->u, U+0fd->y, U+0dd->y, U+17e->z, U+17d->z, 
    wordforms  = c:/wamp/www/project/configs/sphinx/synonyms 
    regexp_filter = (\w*)'(\w*) => \1'\2 
    regexp_filter = (\w*)'(\w*) => \1 \2 
    regexp_filter = (\w*)'(\w*) => \1 
    regexp_filter = (\w*)'(\w*) => \2 


} 

En utilisant SPH_MATCH_EXTENDED2

PS .: Désolé pour le mauvais anglais

+0

Source d'index ajoutée. J'ai besoin de le trouver si j'utilise toutes les sous-chaînes de mots possibles et que je le trouve aussi si j'écris de l'espace au lieu d'une apostrophe. mais cela ne marche pas si j'utilise le dernier exemple – Jimi

+0

OK, retirez le 'PHP' Tag, il semble que ce soit une question connexe' sphinx'. Et aussi je ne fais pas maintenant de sphinx. – JustOnUnderMillions

+0

Terminé. Srry c'est ma première question ici – Jimi

Répondre

0

Problème résolu, I Missed synonymes dans wordforms, il réécrit mon mot testé, il avait l'air d'sphynx ne fonctionne pas correctement. . (Facepalm ici)