Schutz vor Doppeleinträgen, Volltext-Such Hilfe...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Full-Text Search Functions hat geschrieben:For natural-language full-text searches, it is a requirement that the columns named in the MATCH() function be the same columns included in some FULLTEXT index in your table. For the preceding query, note that the columns named in the MATCH() function (title and body) are the same as those named in the definition of the article table's FULLTEXT index. If you wanted to search the title or body separately, you would need to create separate FULLTEXT indexes for each column
KB:knigge
Benutzeravatar
terminatorx120
Mitglied
Beiträge: 214
Registriert: 19.02.2007 22:25
Wohnort: Barmstedt
Kontaktdaten:

Beitrag von terminatorx120 »

Ahhh... jetzt hat's bei mir geschaltet!

Ich habe jetzt also beschreibung, titel und game auf Volltext gestellt in phpmyadmin:

Code: Alles auswählen

 ALTER TABLE `kg_video` 
ADD FULLTEXT `FULLTEXT` (
`titel` ,
`beschreibung` ,
`game`
) 
Aber er zeigt immer noch diesen Fehler an:

Code: Alles auswählen

SQL-Befehl: Dokumentation

SELECT video_id, titel, beschreibung, game,
MATCH (
titel, beschreibung, game
)
AGAINST (
'Crysis'
) AS relevanz
FROM kg_video
WHERE MATCH (
titel, beschreibung
)
AGAINST (
'Crysis'
)
ORDER BY relevanz DESC
LIMIT 0 , 30

MySQL meldet: Dokumentation
#1191 - Can't find FULLTEXT index matching the column list 
MfG
TerminatorX120
http://www.KeepGaming.de
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Es müssen exakt die selben Spalten sein. Wenn du den Index für (titel, beschreibung, game) anlegst, musst du auch in diesen drei Spalten suchen und nicht nur in titel und beschreibung. Wenn du deinen Benutzern die Auswahl bieten willst, entweder in der einen oder der anderen Spalte zu suchen, musst du ggf. zwei Indizes anlegen.
KB:knigge
Benutzeravatar
terminatorx120
Mitglied
Beiträge: 214
Registriert: 19.02.2007 22:25
Wohnort: Barmstedt
Kontaktdaten:

Beitrag von terminatorx120 »

oh, das ist mir peinlich, ich habe auf das garnicht mehr gesehen, dass ich die Where-Klausel vergessen habe!

Vielen Dank auch für die Geduld... :)


Nun habe ich es:

Code: Alles auswählen

SELECT video_id, titel, beschreibung, game,
MATCH (
titel, beschreibung, game
)
AGAINST (
'Crysis'
) AS relevanz
FROM kg_video
WHERE MATCH (
titel, beschreibung, game
)
AGAINST (
'Crysis'
)
ORDER BY relevanz DESC 
MfG
TerminatorX120
http://www.KeepGaming.de
Antworten

Zurück zu „Coding & Technik“