Zoeken op hele woorden in SQL
Miniejjj
05/08/2008 23:32:00Hoi,
ik ben bezig met een zoekmachinescript en nu is het zoekscript aan de beurt.
Nu heb ik gewoon met LIKE gedaan in de query, maar dan zoekt het script ook gewoon op halve woorden dus
Hoe kan ik ervoor zorgen dat hij alleen op hele woorden zoekt in de database?
Alvast bedankt,
Arthur
ik ben bezig met een zoekmachinescript en nu is het zoekscript aan de beurt.
Nu heb ik gewoon met LIKE gedaan in de query, maar dan zoekt het script ook gewoon op halve woorden dus
Quote:
testtest
ik zoek op test en hij vind ook testtest.
ik zoek op test en hij vind ook testtest.
Hoe kan ik ervoor zorgen dat hij alleen op hele woorden zoekt in de database?
Alvast bedankt,
Arthur
PHP hulp
05/11/2024 07:59:24Jelmer -
05/08/2008 23:40:00Simpele antwoord: voeg spaties toe voor en na je zoekwoord. Dan matcht hij alles wat begint met een spatie, vervolgens je zoekwoord, en dan weer eindigd met een spatie.
Je ruikt het probleem al, woorden die aan het begin staan, of aan het eind staan, of direct volgen op een ( of koppelteken, en woorden die een punt of ) of aanhalingsteken voorafgaan worden overgeslagen.
Je ruikt het probleem al, woorden die aan het begin staan, of aan het eind staan, of direct volgen op een ( of koppelteken, en woorden die een punt of ) of aanhalingsteken voorafgaan worden overgeslagen.
Miniejjj
05/08/2008 23:43:00Dat werkt niet helemaal:
Hij vind nu helaas helemaal niets meer.
Hij vind nu helaas helemaal niets meer.
- -
05/08/2008 23:51:00Dan doe je het zo:
En zo kan je nog enkele weken doorgaan... Succes ;-)
Ik zou het persoonlijk met een regex oplossen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CONCAT(' ', tekst, ' ') LIKE '% zoekwoord %'
OR tekst LIKE CONCAT('%', "\n", 'zoekwoord %')
OR tekst LIKE CONCAT('%', "\n", 'zoekwoord', "\n", '%')
OR tekst LIKE CONCAT('% zoekwoord', "\n", '%')
OR tekst LIKE '%(zoekwoord %'
OR tekst LIKE '%(zoekwoord)%'
OR tekst LIKE '% zoekwoord)%'
OR tekst LIKE '% zoekwoord.%'
OR tekst LIKE '% zoekwoord,%'
OR tekst LIKE '% zoekwoord:%'
OR tekst LIKE '% zoekwoord;%'
OR tekst LIKE '%\'zoekwoord %'
OR tekst LIKE '%\'zoekwoord\'%'
OR tekst LIKE '% zoekwoord\'%'
OR tekst LIKE '%"zoekwoord %'
OR tekst LIKE '%"zoekwoord"%'
OR tekst LIKE '% zoekwoord"%'
OR tekst LIKE CONCAT('%', "\n", 'zoekwoord %')
OR tekst LIKE CONCAT('%', "\n", 'zoekwoord', "\n", '%')
OR tekst LIKE CONCAT('% zoekwoord', "\n", '%')
OR tekst LIKE '%(zoekwoord %'
OR tekst LIKE '%(zoekwoord)%'
OR tekst LIKE '% zoekwoord)%'
OR tekst LIKE '% zoekwoord.%'
OR tekst LIKE '% zoekwoord,%'
OR tekst LIKE '% zoekwoord:%'
OR tekst LIKE '% zoekwoord;%'
OR tekst LIKE '%\'zoekwoord %'
OR tekst LIKE '%\'zoekwoord\'%'
OR tekst LIKE '% zoekwoord\'%'
OR tekst LIKE '%"zoekwoord %'
OR tekst LIKE '%"zoekwoord"%'
OR tekst LIKE '% zoekwoord"%'
En zo kan je nog enkele weken doorgaan... Succes ;-)
Ik zou het persoonlijk met een regex oplossen.