PostgreSQL: Recherche en Texte Intégral - Comment rechercher des mots partiels?

À la suite d'une question posté ici sur comment je peux augmenter la vitesse sur l'un de mes SQL méthodes de Recherche, on m'a conseillé de mettre à jour ma table pour faire usage de la Recherche Plein Texte. C'est ce que j'ai fait, en utilisant les index Gist pour rendre la recherche plus rapide. Sur une partie de la "plaine" de requêtes, j'ai remarqué une augmentation marquée, qui j'en suis très heureux.

Cependant, j'ai de la difficulté dans la recherche pour des mots partiels. Par exemple, j'ai plusieurs dossiers qui contiennent le mot Squire (454) et j'ai plusieurs dossiers qui contiennent de l'Écureuil (173). Maintenant, si je recherche pour Squire elle renvoie uniquement l'454 dossiers, mais je le veux de retour de l'Écureuil registres.

Ma requête ressemble à ceci

SELECT title 
FROM movies 
WHERE vectors @@ to_tsoquery('squire');

J'ai pensé que je pouvais faire to_tsquery('squire%') mais qui ne fonctionne pas.
Comment puis-je obtenir qu'elle recherche les correspondances partielles ?

Aussi, dans ma base de données j'ai des enregistrements de films et d'autres qui sont des émissions de TÉLÉVISION. Elles sont différenciées par la "" sur le nom, donc, comme "Munsters" est une émission de TÉLÉVISION, alors que Les Munsters est le film de l'exposition. Ce que je veux être en mesure de faire est de rechercher pour juste l'émission de TÉLÉVISION ET simplement les films. Une idée sur comment je peux faire ?

Ce qui concerne
Anthoni

Si vous avez la searchkey squire mais souhaitez obtenir le résultat squirrel, vous pourriez avoir à spécifier des contraintes supplémentaires. Parce que sinon, on pourrait faire valoir qu'ils avaient la clé de recherche mama mais je voulais le résultat rabbit. Alors peut-être que vous pourriez voulez diviser votre recherche de la clé et tournez - squire en s | sq | squ | squi | squir | squire... Ce ou amateur algorithmes de vous obtenir le squirrel. Je pense que @Joshua Brûlures de la réponse contient plus de solution générique que le mien, si vous voulez être générique.

OriginalL'auteur Anthoni Gardner | 2010-03-25