Fulltext zoeken op deel van een woord
Rik Engelen
23/11/2013 23:58:20Ik ben al de hele avond het het stoeien met een fulltext search maar krijg iets niet goed.
In mijn DB staat bijvoorbeeld het zoekwoord workshop.
Deze wil ik vinden met bijvoorbeeld kerstworkshop of workshops
Kom er niet uit en naar wat uren tuts lezen heb ik geen idee of dit nu wel kan.
Als dit niet kan zijn er dan wel andere oplossingen voor dit probleem ?
In mijn DB staat bijvoorbeeld het zoekwoord workshop.
Deze wil ik vinden met bijvoorbeeld kerstworkshop of workshops
Kom er niet uit en naar wat uren tuts lezen heb ik geen idee of dit nu wel kan.
Code (php)
1
SELECT SQL_CALC_FOUND_ROWS categorie_omschrijving ,MATCH(categorie_omschrijving) AGAINST('kerstworkshop') as 'score' FROM ************* WHERE MATCH(categorie_omschrijving) AGAINST('kerstworkshop') AND actief = 'j' ORDER BY score DESC LIMIT 1
Als dit niet kan zijn er dan wel andere oplossingen voor dit probleem ?
Gewijzigd op 23/11/2013 23:58:54 door Rik Engelen
PHP hulp
28/11/2024 05:12:08Local Dev
24/11/2013 00:27:26Rik Engelen
24/11/2013 11:22:22Local Dev op 24/11/2013 00:27:26:
Om wat voor type database gaat het?
Mijn excuses het gaat om een MYSQL DB
Je kan met match against alleen zoeken op hele woorden of woorden die beginnen met ....
MATCH(kolom) AGAINST ('zoekstring') of MATCH(kolom) AGAINST ('zoekstring*')
MATCH(kolom) AGAINST ('zoekstring') of MATCH(kolom) AGAINST ('zoekstring*')
Gewijzigd op 24/11/2013 11:45:54 door Ger van Steenderen
Rik Engelen
24/11/2013 12:55:41Wat je kunt doen is LIKE '%zoekstring%' gebruiken.
Gevolg hiervan is dat geen index gebruikt kan worden en dat is voor een tabel met een paar honderd records acceptabel.
Een alternatief is om een kolom met keywords te maken en daar de full tekst index op te zetten, of je maakt een aparte tabel met daarin de keywords en daarnaast een linktabel om keywords aan categorieën te koppelen. Dat laatste is wat eenvoudiger te beheren.
Gevolg hiervan is dat geen index gebruikt kan worden en dat is voor een tabel met een paar honderd records acceptabel.
Een alternatief is om een kolom met keywords te maken en daar de full tekst index op te zetten, of je maakt een aparte tabel met daarin de keywords en daarnaast een linktabel om keywords aan categorieën te koppelen. Dat laatste is wat eenvoudiger te beheren.