Hallo liebes Forum,
Soweit verstehe ich den Aufbau und das Abarbeiten einer Volltextsuche in MySQL.
Es funktioniert auch alles wie gewünscht. Nur bei bestimmten Suchanfragen scheitert die Suche und ich vermute, dass es in diesem Falle beim / liegt.
Folgendes wird gesucht und als Ergebnis zurück geliefert (Beispiele):
domain.at - findet alles zu domain.at
domain.at front - findet alles zu domain.at und front
domain.at/front liefert mir aber alles zu domain.at zurück und nicht wie gewünscht zu domain.at/front
Die Struktur der Suchtabelle würde so aussehen:
CREATE TABLE `suchtabelle` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`asistId` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',
`suchfeld` TEXT COLLATE latin1_german2_ci NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `insId` ( `asistId` ) ,
FULLTEXT KEY `suchfeld` ( `suchfeld` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1 COLLATE = latin1_german2_ci;
Die Abfrage löse ich folgenderweise:
SELECT SQL_CACHE b.*
FROM suchtabelle AS a
JOIN asist AS b ON
MATCH (a.suchfeld) AGAINST ('orf.at/front' IN BOOLEAN MODE)
AND b.Id = a.asistId
AND b.gesperrt = '0'
ORDER BY b.Domain, b.Page ASC
LIMIT 0 , 30
Ich versteh nicht, wo da der Wurm begraben ist.
Besten Dank für Eure Denkanstöße
lg.
Werner
Soweit verstehe ich den Aufbau und das Abarbeiten einer Volltextsuche in MySQL.
Es funktioniert auch alles wie gewünscht. Nur bei bestimmten Suchanfragen scheitert die Suche und ich vermute, dass es in diesem Falle beim / liegt.
Folgendes wird gesucht und als Ergebnis zurück geliefert (Beispiele):
domain.at - findet alles zu domain.at
domain.at front - findet alles zu domain.at und front
domain.at/front liefert mir aber alles zu domain.at zurück und nicht wie gewünscht zu domain.at/front
Die Struktur der Suchtabelle würde so aussehen:
CREATE TABLE `suchtabelle` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`asistId` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',
`suchfeld` TEXT COLLATE latin1_german2_ci NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `insId` ( `asistId` ) ,
FULLTEXT KEY `suchfeld` ( `suchfeld` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1 COLLATE = latin1_german2_ci;
Die Abfrage löse ich folgenderweise:
SELECT SQL_CACHE b.*
FROM suchtabelle AS a
JOIN asist AS b ON
MATCH (a.suchfeld) AGAINST ('orf.at/front' IN BOOLEAN MODE)
AND b.Id = a.asistId
AND b.gesperrt = '0'
ORDER BY b.Domain, b.Page ASC
LIMIT 0 , 30
Ich versteh nicht, wo da der Wurm begraben ist.
Besten Dank für Eure Denkanstöße
lg.
Werner