Pour des bases trés importantes, ca peut éventuellement poser probléme.
L'utilisation d'un index ne me parait pas être une bonne solution. Un index est basé sur un tri, et c'est justement quand ce tri n'est plus suffisant que des fonctions de recherche avancés sont utile. Genre quand je cherche conqueror je veux aussi Konqueror: distance de Levenshtein faible (1), mais distance alphabétique trés grande.
Une des solution courament utilisée pour diminuer la charge, c'est de faire une premiére recherche en ortographe exacte, puis de demander à l'utilisateur s'il veut corriger l'ortographe ou faire une recherche en ortographe approchée.
Pspell est surement à étudier mais pas forcément une bonne idée. Ce n'est pas non plus ultra léger en ressource, ca demande un bon controle sur le serveur de production, c'est beaucoup moins universel, etc...
En fait, il faudrait faire une étude assez précise pour dire quelle est la meilleure solution :
- Fréquence des changements du site
- Fréquence des recherches
- fréquence des fautes dans les recherches
- ressource la plus limitée : espace disque, puissance proc, BP...
- etc...
Tout ca pour expliquer pourquoi il n'y a pas de solution "toute faite".
[^] # Re: distance de levenshtein
Posté par amadeus029 . En réponse au journal De la "Recherche" approximative en php. Évalué à 2.
L'utilisation d'un index ne me parait pas être une bonne solution. Un index est basé sur un tri, et c'est justement quand ce tri n'est plus suffisant que des fonctions de recherche avancés sont utile. Genre quand je cherche conqueror je veux aussi Konqueror: distance de Levenshtein faible (1), mais distance alphabétique trés grande.
Une des solution courament utilisée pour diminuer la charge, c'est de faire une premiére recherche en ortographe exacte, puis de demander à l'utilisateur s'il veut corriger l'ortographe ou faire une recherche en ortographe approchée.
Pspell est surement à étudier mais pas forcément une bonne idée. Ce n'est pas non plus ultra léger en ressource, ca demande un bon controle sur le serveur de production, c'est beaucoup moins universel, etc...
En fait, il faudrait faire une étude assez précise pour dire quelle est la meilleure solution :
- Fréquence des changements du site
- Fréquence des recherches
- fréquence des fautes dans les recherches
- ressource la plus limitée : espace disque, puissance proc, BP...
- etc...
Tout ca pour expliquer pourquoi il n'y a pas de solution "toute faite".