J'utilise Sphinx pour effectuer une recherche sur un site Web et j'ai rencontré des difficultés en retournant des résultats pertinents.Sphinx recherche des correspondances exactes puis infixe des correspondances
Pour garder ma question simple, supposons que j'ai deux champs, @title et @body, qui sont pondérés respectivement 100 & 15. Quand je cherche des petits mots comme le mot «dans Je voudrais avoir un rang correspond exactement à ce terme de recherche plus élevé et puis chèque de matchs à « en * | * en | * dans * » et les classer légèrement plus bas. Est-il possible d'avoir ce type de spécificité pour vos recherches?
Exemple de résultats pour 'dans':
- Indian Food
- Dans Le Moyen
- document sur le latin
Certains paramètres pertinents sont les suivants:
En sphinx.conf:
morphology = stem_en
charset_type = utf-8
min_word_len = 2
min_prefix_len = 0
min_infix_len = 2
enable_star = 1
Dans search.php
$sp->SetMatchMode(SPH_MATCH_EXTENDED2);
$sp->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sp->SetFieldWeights (array('title' => 100, 'body' => 15));
En outre, comme une note de côté: J'ai eu aussi des cas où des correspondances partielles ne sont même pas apparaître dans les résultats de la recherche. Par exemple, j'ai cherché Cow mais Cowboy ne se est pas présenté comme résultat. J'ai aussi cherché cowb et Cowbo et ce ne est que je tapais Cowboy que j'ai reçu le résultat attendu. Des pensées?
Cette question est dans le même sens que this previous SO question, mais je l'espère, je l'ai donné un peu plus de détails à mon problème et les choses que j'ai essayé de justifier une solution.
Y at éléments supplémentaires que je pourrais ajouter à aider les gens à répondre à cette question? – ServAce85