[MySQL] Fulltext search werkt niet?

Pagina: 1
Acties:

  • ThaDaNo
  • Registratie: Mei 2002
  • Laatst online: 05-04-2023
Hoi,
Ik ben nu druk bezig met experimenteren met fulltext search.
Ik heb een tabel, websites, met daarin:
id = primary key
plaintext = longtext met fulltext index erop (de fulltext index heet ook plaintext)

Nu gebruik ik de volgende query:
PHP:
1
SELECT * FROM websites WHERE MATCH (plaintext) AGAINST ('hi') LIMIT 0,25

Dat geeft geen MySQL error en word gewoon geaccepteerd door MySQL
Echter, deze query resulteert in 0 resultaten. Dit vind ik behoorlijk sterk omdat er 1204 records in de DB zitten en als ik
PHP:
1
SELECT * FROM websites WHERE plaintext LIKE '%hi%'
doe een stuk of 1000 resultaten krijg.
wie kan mij helpen?

edit: ik ben er inmiddels achter, ik probeerde toenet het woord database en dat werkte wel goed 8)7
wat blijkt nu, hij pakt geen woorden onder de 6 letters lang.
weet iemand hier een workaround voor, aangezien ik gewoon woorden onder de 6 letters lang wil zien?

[ Voor 22% gewijzigd door ThaDaNo op 22-02-2003 14:59 ]


  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html

(read the damn manual)

- minimumlengte zoekterm
- 50% threshold

Ik heb zelf zeer slechte ervaringen met de fulltext functie van MySQL en ben al zeer snel overgestapt naar normale queries. Belangrijkste aan een zoekfunctie is namelijk dat je iets moet kunnen vinden. Als er teveel beperkingen aan zitten waardoor je dus niets kan terugvinden heeft een dergelijke zoekfunctie dus geen nut. Reken daarnaast op een behoorlijke toename aan de hoeveelheid data die de index in beslag neemt en tel uit je winst.

To study and not think is a waste. To think and not study is dangerous.


  • ThaDaNo
  • Registratie: Mei 2002
  • Laatst online: 05-04-2023
ik weet dat fulltext niet geweldig is maar ik zit er maar een beetje mee te kloojen :)
en in mijn edit stond ook dat van die minimumlengte.
ik heb nu al iets bedacht voor die 50%, als er 0 resultaten zijn probeert ie een LIKE query en die doet het dan wel goed.
iig bedankt voor de moeite :)

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

DaNo2002 schreef op 22 February 2003 @ 15:21:
ik weet dat fulltext niet geweldig is maar ik zit er maar een beetje mee te kloojen :)
en in mijn edit stond ook dat van die minimumlengte.
ik heb nu al iets bedacht voor die 50%, als er 0 resultaten zijn probeert ie een LIKE query en die doet het dan wel goed.
iig bedankt voor de moeite :)
Heb ik er 7 minuten over gedaan om het antwoord op te zoeken en te schrijven?? 8)7

Ach ja, 't is weekend :O

Ik zou iig niet én een fulltext search én een like-query (bij 0 rslts) uitvoeren. Je hebt dan zowel de nadelen van de fulltext search als de nadelen van de like-query. Bovendien heb je dubbele code. De voordelen van een fulltext search zijn bij MySQL IMO minimaal.

To study and not think is a waste. To think and not study is dangerous.


  • ThaDaNo
  • Registratie: Mei 2002
  • Laatst online: 05-04-2023
Dat scheelt niet zoveel qua code, het is alleen een kleine verandering van 2 regels.

Ik snap alleen niet wat je bedoelt met je 7 minuten :?