| SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |

19-09-2011, 12:10
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
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?
Geändert von Berni (19-09-2011 um 12:18 Uhr)
|

19-09-2011, 12:23
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
zeig mal bitte das CREATE TABLE-Statement und das SELECT-Statement, mit dem das nicht funktioniert.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-09-2011, 14:11
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
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;
|

19-09-2011, 14:48
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
Zitat:
Zitat von Berni
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
|

19-09-2011, 15:10
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
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 (AGAINST ('"B-Ware"' IN BOOLEAN MODE)). Bei einer nicht-bool'schen Suche kannst du es nicht ändern, dass er das Bindestrich-Minus als Worttrenner betrachtet.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

20-09-2011, 09:40
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
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
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|