Ik ben al een tijdje op zoek naar de beste manier om een zoekmachine voor een database te maken.
Dan heb je aantal mogelijkheden:
Werken met MATCH en AGAINST:
Het is wel een mooie methode, maar er kleven voor de site waarop ik het wil gaan gebruiken enige nadelen aan. Het is namelijk de site van de JOVD (Jongerenorganisatie van de VVD), maar als je dan op VVD zoekt negeert hij dat woord omdat het 3 letters of korter is. Dat is dus een probleem.
Verder worden keywords die in meer dan 50% van de results voorkomen eruitgevist als noiseword.
Werken met LIKE in één keer:
Maar hier blijft ie wel de keywords op volgorde pakken waarop ze opgegeven zijn
Werken met keywords gesplitst over meerder LIKES (andere woordvolgorde mogelijk)
Het nadeel hiervan is dat als je aardig wat keywords hebt dat het dan volgens mij erg zwaar wordt voor de database.
Wat is dus de beste methode om dit aan te pakken?
Verder vroeg ik me nog af hoe je ongeveer searchresultaten kan opslaan in een speciale tabel daarvoor. Ik heb wat in de database van PhpBB zitten kijken, maar dat is maar vaag
Hij slaat het ongeveer op de volgende manier op:
Dan heb je aantal mogelijkheden:
Werken met MATCH en AGAINST:
Het is wel een mooie methode, maar er kleven voor de site waarop ik het wil gaan gebruiken enige nadelen aan. Het is namelijk de site van de JOVD (Jongerenorganisatie van de VVD), maar als je dan op VVD zoekt negeert hij dat woord omdat het 3 letters of korter is. Dat is dus een probleem.
Verder worden keywords die in meer dan 50% van de results voorkomen eruitgevist als noiseword.
Werken met LIKE in één keer:
code:
1
| SELECT merp FROM lerp WHERE spef LIKE '%keywords%' |
Maar hier blijft ie wel de keywords op volgorde pakken waarop ze opgegeven zijn
Werken met keywords gesplitst over meerder LIKES (andere woordvolgorde mogelijk)
code:
1
| SELECT merp FROM lerp WHERE spef LIKE '%keyword1%' AND spef LIKE '%keyword2%' enz... |
Het nadeel hiervan is dat als je aardig wat keywords hebt dat het dan volgens mij erg zwaar wordt voor de database.
Wat is dus de beste methode om dit aan te pakken?
Verder vroeg ik me nog af hoe je ongeveer searchresultaten kan opslaan in een speciale tabel daarvoor. Ik heb wat in de database van PhpBB zitten kijken, maar dat is maar vaag

Hij slaat het ongeveer op de volgende manier op:
Het is mij niet duidelijk hoe die zoekresultaten hier nou in opgeslagen worden.a:7:{s:14:"search_results";s:1:"1";s:17:"total_match_count";i:1;s:12:"split_search";a:1:{i:0;s:7:"welcome";}s:7:"sort_by";i:0;s:8:"sort_dir";s:4:"DESC";s:12:"show_results";s:6:"topics";s:12:"return_chars";i:200;}
The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.