MySQL Full-Text Search

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Full-Text Search

    Hallo zusammen,

    ich versuche die Full-Textsuche in mySQL zu optimieren.
    Ich habe bereits die ft_min_word_len auf 3 gesetzt und ft_stopword_file auf ''
    Leider blieb der erhofte Erfolg aus.
    Wörter wie B-Ware oder first werden immer noch nicht gefunden.

    Was kann man noch tun?
    Zuletzt geändert von admin; 19.09.2011, 12:18.

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

  • #2
    Hallo,

    zeig mal bitte das CREATE TABLE-Statement und das SELECT-Statement, mit dem das nicht funktioniert.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Code:
      SELECT * FROM `ad_search` WHERE MATCH (STEXT) AGAINST ('B-Ware') 
      
      CREATE TABLE ad_search (
      	ID_AD_SEARCH BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
      	FK_AD BIGINT(20) UNSIGNED NOT NULL,
      	FK_USER BIGINT(20) UNSIGNED NOT NULL,
      	LANG VARCHAR(3) NOT NULL,
      	AD_TABLE VARCHAR(100) NOT NULL,
      	STEXT LONGTEXT NULL,
      	PRIMARY KEY (ID_AD_SEARCH),
      	INDEX FK_AD (FK_AD),
      	INDEX lang (LANG),
      	INDEX user (FK_USER),
      	FULLTEXT INDEX suchen (STEXT)
      )
      COLLATE='latin1_swedish_ci'
      ENGINE=MyISAM
      AUTO_INCREMENT=829;

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        Zitat von Berni Beitrag anzeigen
        Hallo zusammen,

        ich versuche die Full-Textsuche in mySQL zu optimieren.
        Ich habe bereits die ft_min_word_len auf 3 gesetzt und ft_stopword_file auf ''
        Leider blieb der erhofte Erfolg aus.
        Wörter wie B-Ware oder first werden immer noch nicht gefunden.

        Was kann man noch tun?
        Den mySQL Server sollte man auch neu starten
        Was allerdings nicht geht, ist die Sache mit B-Ware.
        Wir haben jetzt alle Vorkommen von "-" durch "_" ersetzt und siehe da. Es läuft

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          Okay, dann weiß ich, woran es lag. Wenn du eine Boolean Full-Text-Suche gemacht hast, hättest du den Begriff in doppelte Anführungszeichen setzen müssen ([FONT="Courier New"]AGAINST ('[COLOR="Red"]"[/COLOR]B-Ware[COLOR="Red"]"[/COLOR]' IN BOOLEAN MODE)[/FONT]). Bei einer nicht-bool'schen Suche kannst du es nicht ändern, dass er das Bindestrich-Minus als Worttrenner betrachtet.
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Danke AmicaNoctis,

            ich dachte das hätten wir gemacht. Ich werde das Script nochmals ändern und mal schauen was uns die Volltextsuche dann liefert.

            thx
            berni

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar

            Lädt...
            X