Hallo,

Ik krijg de volgende foutmelding bij mijn query voor een zoekfunctie;

Can't find FULLTEXT index matching the column list

Dit is naar mijn mening raar want alles is wel in fulltext aangemaakt.

OP het moment ziet mijn tabel er in phpmyadmin zo uit:

sleutel naam---type-----kardinaliteit--veld
primary---------primary-----10008----id
omschrijving---fulltext----geen-------omschrijving


iemand enig idee wat hier verkeerd aan is en hoe ik dit op kan lossen ?
kardinaliteit: geen

Er zit niets in je fulltext kollomen. Ik denk dat je eerst even de tabel gegevens moet exporteren daarna de tabel aanmaken (uiteraard met fulltext).

En dan de tabel gegevens weer importeren, dus alleen de records niet de structuur.

Edit:

Ik denk trouwens dan het sneller/beter is om 1 fulltext key aan te maken "omschrijving" en daarin categorie, soort en link. Deze drie kolommen kun je dan met b.v. html commentaar erin zetten.

Dus een omschrijvings record ziet er dan zo uit:

<!-- Categorienaam, Soort, http://www.link.nl -->Omschrijving van deze categorie.
ja inderdaad je hebt helemaal gelijk, alleen weet ik echter nog niet wat ik fout gedaan heb.

als ik een fulltext tabel aanmaak op de volgende manier dan is dat toch de goede manier of zie ik dit nu verkeerd :

CREATE TABLE galleries (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
omschrijving VARCHAR(50),
url VARCHAR(50),
categorie VARCHAR(50),
soort VARCHAR(50),
FULLTEXT (omschrijving,url,categorie,soort)
);


je gaf verder als tip om maar 1 fulltext key aan te maken bijvoorbeeld omschrijving. Het probleem is echter dat ik de relevantie wil bepalen adhv het aantaal keer dat de zoekterm voorkomt in de omschrijving, titel, link en soort...naar mijn weten moet ik deze 4 dan dus allemaal full text tabellen maken.

ik heb even de tabel geexporteerd en zag tot mijn verbazing dat mijn tabel er nu zo uit zag:

CREATE TABLE `galleries` (
`id` int(10) unsigned NOT NULL auto_increment,
`omschrijving` varchar(200) default NULL,
`categorie` varchar(50) default NULL,
`soort` varchar(50) default NULL,
`link` varchar(200) NOT NULL default '',
PRIMARY KEY (`id`),
FULLTEXT KEY `omschrijving` (`omschrijving`,`categorie`,`soort`,`link`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10892 ;

ik denk dat er iets mis is gegaan bij het handmatig aanpassen van de tabellen...

maar hoe zou ik hem dan volgens jou moeten doen ?
ik ga zelf eea even proberen want denk dat ik nu weet hoe ik het op moet lossen..zal de oplossing hier posten

bvd
nou het blijkt niets met de tabel te maken te hebben. dat kardinaliteit op "geen" staat is normaal en blijkt ook zo te horen..

het rare is dat de melding verschijnt indien ik de query uit laat voeren op de tabel "link" en daar schijnt hij op vast te lopen...waarschijnlijk door de vele komma´s etc die erin staan

iemand een idee hoe of dit inderdaad niet kan met fulltext?
Belangrijk bij een FULLTEXT search:
1: alle velden uit de fulltext index moeten bij MATCH opgesomd worden
2: de string bij AGAINST tussen enkele quotes zetten
desbetreffende link had ik inderdaad al enkele keren doorgenomen en had ook die tabel in mijn database gezet om het eea te proberen en de verschillen te bekijken...

hij werkt nu prima. het enige wat ik heb aangepast in de tabel is de kolom "link" verwijderd uit de fulltext serie en toen deed hij het perfect

Reageren