mysql fulltext gedeeltelijk matchen?

Pagina: 1
Acties:

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
Ik probeer dmv full text search bijvoorbeeld een door een gedeelte van een woord in te vullen en match te vinden.

Even om het wat duidelijker te maken

SELECT id, titel, omschrijving ,match (titel,omschrijving) against (' %knoppen% ') as relevance
FROM object
WHERE
match (titel,omschrijving) against ('%knoppen%')>0
HAVING relevance>0
ORDER BY relevance DESC

In de tabel zit dus een record in titel dat knoppenkoning heet.
Toch wordt dit niet gevonden en krijg ik alleen een result waar het woord knoppen in de omschrijving staat.

Op internet stond ook een leuk test script om queries op te testen en daar werkte zo`n constructie ook niet.
Is het sowieso wel mogelijk? Ik ben erg benieuwd

test script @ http://davidaltherr.net/w...an/form.mysql.boolean.php

Edit: http://forums.mysql.com/r...,113504,113506#msg-113506 Deze gast zegt dat het niet mogelijk is. Iemand die dit kan bevestigen?

[ Voor 13% gewijzigd door mazz op 26-02-2009 15:50 ]

20 jaar, en wat had ik bereikt?


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Dezelfde clause in zowel WHERE en HAVING is wel een beetje overdreven. :P

Standaard debugging: Zet eens gewoon de primary key van de row met knoppenkoning in de WHERE clause, en haal de rest eruit. Bekijk vervolgens de waarde van relevance...

{signature}


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Sowieso komt de syntax die jij gebruikt niet overeen met wat in de MySQL documentatie staat.
Je moet een * ipv een % gebruiken.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Ook dat, en er staan bij de select ook nog spaties binnen de quotes. B)

{signature}


Acties:
  • 0 Henk 'm!

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 22-09 21:02
Partial matching kan niet. full text index indexeert alleen hele woorden.

/edit:
in boolean mode wordt het wel ondesteund. maar dan alleen op het einde van het zoekwoord.
code:
1
AGAINST ('beginvanwoord*' IN BOOLEAN MODE);

[ Voor 52% gewijzigd door twiekert op 27-02-2009 11:12 ]


Acties:
  • 0 Henk 'm!

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
ja, dat klopt. Was er gister ook al achter gekomen :)

Toch bedankt!

20 jaar, en wat had ik bereikt?

Pagina: 1