Il y a une explication légèrement différente à l'adresse http://www.cs.umb.edu/cs634/ora9id [...] .htm#21732
Le troisième paramètre est un nombre qui sert d'étiquette pour le cas où l'on veuille récupérer le score, par exemple pour classer les résultats.
SELECT SCORE(n), ....
FROM ... WHERE CONTAINS(..., ...., n) > 0
ORDER BY SCORE(n) DESC; |
Utiliser le nombre 1 est suffisant sauf lorsque qu'il y a plusieurs recherches :
SELECT SCORE(1), SCORE(2),....
FROM ... WHERE CONTAINS(..., ...., 1) > 0
AND CONTAINS(..., ...., 2) > 0
ORDER BY SCORE(1) DESC, SCORE(2) ASC; |
CONTAINS retourne un pourcentage de pertinence (relevance). Donc, cela retourne 0, si la chaine n'est pas trouvée dans le texte, et cela retourne un nombre proche de 100 si la chaine est trouvée très très souvent dans le texte.
N.B. CONTAINS ne marche qu'avec des documents indexés.
Pour une recherche sur un champ ordinaire, il est possible d'utiliser INSTR.
Message édité par olivthill le 22-02-2006 à 16:51:35