Merci pour ces réponses. Je connais les fonctions référencées, mais je ne suis pas sûr qu'elles fassent ce dont j'ai besoin. Par exemple:
SELECT P.id, 'Product' AS Type, FT.rank, C.url + '/' + P.url AS url, longTitle, shortTitle, P.description
FROM Products P
INNER JOIN CONTAINSTABLE (Products, (longTitle, shortTitle), '"my text content"') AS FT ON P.id = FT.[key]
LEFT JOIN Product_Categories PC ON P.id = PC.productID
LEFT Join Categories C ON C.id = PC.categoryID
WHERE [primary] = 1
ORDER BY rank DESC
retourne uniquement les lignes avec l'expression exacte « mon contenu texte » - J'ai besoin de lignes avec seulement « texte » à retourner, mais à un rang inférieur. Si je change la requête comme suit:
SELECT P.id, 'Product' AS Type, FT.rank, C.url + '/' + P.url AS url, longTitle, shortTitle, P.description
FROM Products P
INNER JOIN CONTAINSTABLE (Products, (longTitle, shortTitle), '"my" or "text" or "content"') AS FT ON P.id = FT.[key]
LEFT JOIN Product_Categories PC ON P.id = PC.productID
LEFT Join Categories C ON C.id = PC.categoryID
WHERE [primary] = 1
ORDER BY rank DESC
Je reçois plus de lignes, mais les lignes avec les trois mots ne semblent pas classer nettement plus élevé que les lignes avec 1 des mots.
D'autres réflexions?