Bonjour,
je fais actuellement un outils de recherche en utilisant une table article qui dispose de 3 champs
[titre] [liens] [description]
La reponse doit s'effectuer selon les priorites suivantes :
- le titre
- le liens
- la description
Je procede de la maniere suivante :
tous les termes associe sont dans query
Je recupere aussi chaque terme separement et je les mets dans un tableau:
query;
querytab[];
ma requete :
Voila, pour donner une idee. Et j'aimerais savoir si ma requete est efficace ou si ya mieux, parceque ca avec plus de 3 termes ca devient tres lent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 select article_id, article_titre, article_lien, article_description from article where article_title ilike '%" + query + "%' union select article_id, article_titre, article_liens, article_description from article where article_lien ilike '%" + query + "%' union select article_id, article_titre, article_liens, article_description from article where article_description ilike '%" + query + "%' union debut boucle select article_id, article_titre, article_liens, article_description from article where article_title ilike '%" + querytab[i] + "%' or article_lien ilike '%" + querytab[i] or article_description ilike '%" + querytab[i] i++; fin boucle
bdd = postgres pour 39000 entrees.
Partager