Goede avond,

Ik ben opzoek naar advies voor een grote database. De database wordt gebruikt voor het bewaren van verschillende items (stuk of 20/30 velden per item). Nu moet ik ook kunnen zoeken tussen de items, en hierbij moet een soort wegingspercentage bij berekent kunnen worden (in procenten).

Voorbeeld:

In de database:
Title - tekst tekst tekst
Title - tekst
Title - tekst tekst

Nu moet hij natuurlijk het bovenste resultaat ook als eerste terug geven (als ik zoek op 'tekst'), mijn vraag is alleen hoe ik dit voor elkaar krijg? Database is (nog) mysql.

Indien je zelf iets in mekaar wil steken, kan je zo-iets doen.

voorbeeld:
SELECT id, (50 * in_organisator + 30 * in_activiteit + 20 * in_locatie) as zoekpercentage
FROM
  (
  SELECT id, organisator LIKE '%zoekterm%' as in_organisator, activiteit LIKE '%zoekterm%' as in_activiteit, locatie LIKE '%zoekterm%' as in_locatie
  FROM  kalender 
  ) AS t1
ORDER BY zoekpercentage DESC


Maar kijk toch vooral eerst naar de oplossingen van de posts boven mij.
En mocht je de fulltext search tutorial van deze site doorlezen, er is een enorme fout gemaakt, de syntax gebruikt in de tutorial klopt niet.

(

<?php
//in tutorial zoiets gebruikt
$sql = "SELECT iets FROM table WHERE MATCH (blabla, blabla) AGAINST (blabla, blabla)";
?>

moet worden:

<?php
$sql= "SELECT iets FROM table MATCH (blabla, blabla) AGAINST ('zoekwoord1 zoekwoord2')";
?>

Dus let even op de correcte syntax. Iemand die het met me eens is dat ik dit 2 jaar na plaatsen van de tutorial nog mag melden?
Tuurlijk, waarom niet? Ik ben er zeker van dat de tutorial geplaatst was toen er het nog allemaal niet zo duidelijk was, dus er toen geen melding over is binnen gekomen!

Reageren