Bin ich doof oder MySQL?
RFZ
- datenbank
Moin, folgende Datenbank:
CREATE TABLE test (
inhalt text NOT NULL,
FULLTEXT KEY inhalt (inhalt)
) TYPE=MyISAM;
INSERT INTO test VALUES ('Inhalt eins, bissal langweilig');
INSERT INTO test VALUES ('Hier steht auch nicht mehr drin');
INSERT INTO test VALUES ('Hier erst recht nichts, ausser MySQL ;)');
INSERT INTO test VALUES ('Wieder bissal Fülltext... Bla Bla Bla');
INSERT INTO test VALUES ('Hier was ganz extremes! beyond good & evil!');
INSERT INTO test VALUES ('So, und der Schluss....');
So, meine Queries:
SELECT * FROM test
WHERE MATCH (inhalt) AGAINST ('good evil');
-> 1 Row: Hier was ganz extremes...
SELECT * FROM test
WHERE MATCH (inhalt) AGAINST ('mysql');
-> 1 Row: Hier erst recht...
SELECT * FROM test
WHERE MATCH (inhalt) AGAINST ('beyond');
-> 0 Rows!!!
So... und jetz erklärt mir das bitte mal jemand ;)
Könnt ihr gern zuhause testen, ich hab das Problem auf 3 Servern...
cu RFZ
Hi,
CREATE TABLE test (
inhalt text NOT NULL,
FULLTEXT KEY inhalt (inhalt)
) TYPE=MyISAM;
INSERT INTO test VALUES ('Hier was ganz extremes! beyond good & evil!');
SELECT * FROM
test
WHERE MATCH (inhalt) AGAINST ('beyond');
-> 0 Rows!!!
So... und jetz erklärt mir das bitte mal jemand ;)
Füllwörter werden vermutlich nicht in den Fulltext-Index aufgenommen.
Wenn Du einen weiteren Eintrag machst a la "I and you or we, the best"
wirst Du weder mit "and" noch mit "you" noch mit "or" noch mit "the" einen Treffer erzielen.
Und dieser Satz aus dem Manual
The new FULLTEXT search properties of MySQL Server 4.0 enable the use of FULLTEXT indexing of large text masses with both binary and natural-language searching logic. Users can customise minimal word length and define their own stop word lists in any human language, enabling a new set of applications to be built on MySQL Server.
belegt die Existenz einer solchen Wortliste.
cu,
Andreas
Nabend,
wirst Du weder mit "and" noch mit "you" noch mit "or" noch mit "the" einen Treffer erzielen.
Ja, da keins dieser Wörter 4 Buchstaben hat, was schonmal Voraussetzung ist (MySQL 4 hat ja kein Server).
Und dieser Satz aus dem Manual
(...) and define their own stop word lists in any human language
belegt die Existenz einer solchen Wortliste.
Hmmm, mit der Info hab ich schnell rausgefunden dass "beyond" tatsächlich auf der stop-word Liste ist ;(
Schade... aber naja.. danke..
cu,
Andreas
cu RFZ (Andreas :))
Hi,
Und dieser Satz aus dem Manual
(...) and define their own stop word lists in any human language
belegt die Existenz einer solchen Wortliste.
Hmmm, mit der Info hab ich schnell rausgefunden dass "beyond" tatsächlich auf der stop-word Liste ist ;(
Schade... aber naja.. danke..
Du hast aber auch gelesen, daß Du Deine eigene stopword-LIste definieren kannst?
cu,
Andreas
Tach,
Du hast aber auch gelesen, daß Du Deine eigene stopword-LIste definieren kannst?
Als ob so jeder normale Provider erlaubt dass ich mal schnell MySQL neu compiliere ;)
Ne, die Option hab ich nicht...
cu,
Andreas
dito