Alex: (MySQL) FULLTEXT richtig setzen?

Hallo,

wie setze ich denn den Index "Fulltext" richtig wenn ich 3 "TEXT" Felder habe.
Wenn eine Volltextsuche gestartet wird soll dann wenn das Ganze fertig ist in jedem der 3 Felder nach dem Suchbegriff gesucht werden. Wahlweise kann dann auch ein "VARCHAR" Feld 'Titel' mit in die Scuhe einbezogen werden.
Wie setze ich die Indices hier? Alle einzeln oder alle, auch Titel, zusammen? Oder nur die Fulltext zusammen?

gruß
Alex

  1. Hi Alex,

    Wenn eine Volltextsuche gestartet wird soll dann wenn das Ganze fertig ist in jedem der 3 Felder nach dem Suchbegriff gesucht werden. Wahlweise kann dann auch ein "VARCHAR" Feld 'Titel' mit in die Scuhe einbezogen werden.

    du musst auf die VARCHAR-Spalte keinen einzelnen Index setzen, sondern kannst sie in den FULLTEXT-Index mit aufnehmen.

    Wie setze ich die Indices hier? Alle einzeln oder alle, auch Titel, zusammen? Oder nur die Fulltext zusammen?

    Außer bei Verwendung des IN BOOLEAN MODE-modifiers musst du innerhalb von MATCH() sämtlich Spalten angeben, aus denen der FULLTEXT-Index erstellt wurde, siehe Full-Text Restrictions.

    Möchtest du also den Text in den Spalten col1, col2, col3 und col4 durchsuchen, wobei es egal ist, ob sie vom Typ TEXT oder (VAR)CHAR sind, erstellst du den FULLTEXT-Index am besten über alle 4 Spalten und suchst mittels

    MATCH(col1,col2,col3,col4) AGAINST (expr)

    Gruß,
    Andreas.