Flo: Can't find FULLTEXT index matching the column list

Hallo!

Ich habe gerade in meiner MySQL-DB einen Fulltext-Index erzeugt (create fulltext ...)
danahc habe ich dasselbe gür eine 2. Spalte in derselbelm tablee gemacht.

Nun habe ich das ganze getestet:

Select * from tabelle1 where match (index1) against 'testwort'

klappt wunderbar
...also weiter

select * from tabelle1 where match (index2) against 'testwort'

klappt auch
...also weiter

select * from tabelle1 where match (index1, index2) against 'testwort'

und nun gibt's folgendes zu lesen:
"Can't find FULLTEXT index matching the column list"

Die Indexe sind alle vom Typ FULLTEXT ! Schreibfehler sind auch keine im Statement....

...woran liegt das nun ???

MySQL v. 3.23.44

vielen Dank im Vorraus

Flo

  1. Hi,

    "Can't find FULLTEXT index matching the column list"
    Die Indexe sind alle vom Typ FULLTEXT !

    beachte: MySQL spricht von "Index", Du von "Indexen". Der Unterschied zwischen Singular und Plural ist nicht zufällig: Es existiert kein Fulltext-Index über Spalte 1 _und_ Spalte 2.

    Cheatah

    1. Hi,

      Hi

      "Can't find FULLTEXT index matching the column list"
      Die Indexe sind alle vom Typ FULLTEXT !

      beachte: MySQL spricht von "Index", Du von "Indexen". Der Unterschied zwischen Singular und Plural ist nicht zufällig: Es existiert kein Fulltext-Index über Spalte 1 _und_ Spalte 2.

      Jo das klingt ja klug, aber ist doch eigentlich egal wie ichs mache.
      Ich kann einen Fulltext index über Spalte "hugo" und einen über Spalte "egon" erzeugen (wie im ersten posting beschrieben).

      Ich kann auch  einen FULLTEXT-Index index_a über die Spalten "hugo" und "egon" erzeugen.

      ( ALTER TABLE tabelle ADD FULLTEXT index_a (hugo, egon); )

      Dann kann ich:
      match (hugo) against 'testwort'
      und:
      match (egon) against 'testwort'
      aber net:
      match (hugo, egon) against 'testwort'
      weil dann fehlermeldung
      die kommt auch bei
      match (index_a) against 'testwort'

      ich hoffe das ist jetzt ein wenig eindeutiger

      Gruß
      Flo

      1. Hi,

        beachte: MySQL spricht von "Index", Du von "Indexen". Der Unterschied zwischen Singular und Plural ist nicht zufällig: Es existiert kein Fulltext-Index über Spalte 1 _und_ Spalte 2.

        Jo das klingt ja klug, aber ist doch eigentlich egal wie ichs mache.

        nein, ist es nicht. Die Datenbank benutzt immer nur _einen_ Index gleichzeitig, Du forderst hier _mehrere_. Das kann nicht funktionieren.

        ( ALTER TABLE tabelle ADD FULLTEXT index_a (hugo, egon); )
        match (hugo, egon) against 'testwort'

        Laut http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Fulltext_Search ist das gültig; wobei ich nicht weiß, ob die Klammern bei der AGAINST-Klausel optional sind. Vielleicht verwirrt es die DB, wenn Du drei Indizes hast; zwei über die einzelnen Spalten und einen über beide Spalten.

        Cheatah