[MySQL] FULLTEXT SEARCH werkt niet..

Pagina: 1
Acties:

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik ben bezig met een zoek functie en dit wil ik met fulltext search van mysql doen.

Nu heb ik een tabel gc_faq:
code:
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE `gc_faq` (
  `f_id` int(11) NOT NULL auto_increment,
  `parent_id` int(11) NOT NULL default '0',
  `is_category` tinyint(1) NOT NULL default '0',
  `f_name` varchar(128) NOT NULL default '',
  `f_order` int(11) NOT NULL default '1',
  `f_nl2br` tinyint(1) NOT NULL default '1',
  `f_content` text NOT NULL,
  PRIMARY KEY  (`f_id`),
  FULLTEXT KEY `search` (`f_name`,`f_content`)
) TYPE=MyISAM;


In deze tabel staan een aantal rijen waar in meerdere rijen het woord shoutbox zowel in f_name en f_content voorkomt.

Als ik nu met de volgende query zoek krijg ik 0 results terwijl ik zeker weet dat het woord shoutbox in de tabel staat.
code:
1
SELECT * FROM gc_faq WHERE MATCH(f_name, f_content) AGAINST( 'shoutbox' )


Als ik verklaar sql doe krijg ik dit:
code:
1
2
 table       type    possible_keys       key     key_len     ref     rows    Extra
gc_faq  fulltext    search  search  0       1   Using where


Weet iemand wat ik hieraan kan doen ?

[ Voor 23% gewijzigd door chuxiej op 30-03-2005 12:28 ]

www.dannyhiemstra.nl


Verwijderd

Als je zoekresultaat in meer dan 50% van de records voorkomt wordt er niets terug gegegeven, moet je zoekstring minimaal 4 karakters bevatten en daarnaast moet je minimaal een x aantal records in je tabel staan. alleen van dat laatste ben ik niet zeker...

Zou dus aan de eerste of laatste opmerking kunnen liggen misschien?

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ja nu je het zegt, het woord shoutbox komt wel in meerdere rijen voor.
Is er geen manier om dit te omzeilen want ik wil dat bezoekers wel gewoon hun results terug krijgen als ze op het woord shoutbox zoeken :|

www.dannyhiemstra.nl


Verwijderd

Een eigen zoekmethode maken die gebruik maakt van LIKE. Vanaf MySQL 4.1 dacht ik was er meer te configureren aan de fulltextsearch. Je zou de specs er dus even op na kunnen slaan...

http://dev.mysql.com/doc/mysql/en/fulltext-search.html

edit:

Als ik snel door de specs lees lijkt het erop dat die 50% niet te wijzigen is...

[ Voor 18% gewijzigd door Verwijderd op 30-03-2005 12:45 ]


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik gebruik wel LIKE dan aangezien ik geen access heb tot mysql config files.
Toch bedankt voor je info!

www.dannyhiemstra.nl


  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 07-04 15:31
chuxiej schreef op woensdag 30 maart 2005 @ 13:28:
Ik gebruik wel LIKE dan aangezien ik geen access heb tot mysql config files.
Toch bedankt voor je info!
Je kunt natuurlijk ook nog voor een middenweg gaan. Als je bijvoorbeeld een soort search probeert te bouwen kun je eerst een fulltext search proberen en als deze geen resultaten oplevert daarna alsnog een like query gebruiken.

Dat scheeld je waarschijnlijk in de belasting van je MySQL server en je alsnog gebruik maken van de voordelen die de fulltext je biedt. Misschien nog een optie om over na te denken...
Pagina: 1