Hoi,
Ik ben een halfslachtig zoeksysteem voor een site van me aan het programmeren, en ik heb een beetje een probleem met het invoegen van relevantie erin.
Voorbeeld:
Als iemand zoekt naar "Arnold Schwarzenegger", dan kan ik verschillende queries bedenken:
Zou ik dit in 1 query kunnen doen, waarbij de resultaten die binnen de 1e en de 2e query vallen bovenaan komen, en de resultaten die alleen binnen de 2e query vallen daaronder?
En wat als ik dan ook nog wil rangschikken naar een derde veld?
De twee bovenstaande queries dus eigenlijk, met eerst de resultaten van de 1e, dan de resultaten van de 2e voor zover ze niet binnen de 1e vallen, binnen hun eigen groep gerangschikt op hits. Weet iemand hoe ik dat zo moeten aanpakken?
Ik ben een halfslachtig zoeksysteem voor een site van me aan het programmeren, en ik heb een beetje een probleem met het invoegen van relevantie erin.
Voorbeeld:
Als iemand zoekt naar "Arnold Schwarzenegger", dan kan ik verschillende queries bedenken:
code:
1
2
3
| SELECT * FROM sites WHERE description LIKE '%Arnold%' AND description LIKE '%SCHWARZENEGGER%' SELECT * FROM sites WHERE description LIKE '%Arnold%' OR description LIKE '%SCHWARZENEGGER%' |
Zou ik dit in 1 query kunnen doen, waarbij de resultaten die binnen de 1e en de 2e query vallen bovenaan komen, en de resultaten die alleen binnen de 2e query vallen daaronder?
En wat als ik dan ook nog wil rangschikken naar een derde veld?
code:
1
2
3
| SELECT * FROM sites WHERE description LIKE '%Arnold%' AND description LIKE '%SCHWARZENEGGER%' ORDER BY hits DESC SELECT * FROM sites WHERE description LIKE '%Arnold%' OR description LIKE '%SCHWARZENEGGER%' ORDER BY hits DESC |
De twee bovenstaande queries dus eigenlijk, met eerst de resultaten van de 1e, dan de resultaten van de 2e voor zover ze niet binnen de 1e vallen, binnen hun eigen groep gerangschikt op hits. Weet iemand hoe ik dat zo moeten aanpakken?