2010-02-23 14 views
7

Ich versuche gerade, eine grundlegende Volltextsuche für meine Website zu entwickeln, und mir ist aufgefallen, dass bestimmte Wörter wie "in Bezug auf" als Stoppwörter für MySQL-Volltextsuchen aufgeführt sind. Das stört mich momentan nicht so sehr, da Leute, die nach einer bestimmten Nachricht suchen, nicht unbedingt nach dem Wort "in Bezug auf" suchen müssen (aber ich kann sicherlich nicht für alle sprechen!). Ich hoffte jedoch, dass mich jemand hier über die Gründe für eine Stoppwörterliste aufklären könnte. Vielen Dank!MySQL Volltext Stoppwörter Begründung

Zur Verdeutlichung: Ich benutze MyIsam für meine Volltext-Tabelle. Die Stoppwörter sind Wörter, die MySQL nicht indiziert (für jeden Volltextindex). Wie in einem Kommentar zu dieser Frage angemerkt, gibt es eine vollständige Liste von Stoppwörtern ohne jegliche Erklärung. Ich würde gerne wissen, ob es einen Grund für die Worte gibt, die "sie" gewählt haben.

+0

Möchten Sie mySQL für Ihre Suche verwenden? Wären Sie nicht glücklicher, etwas anderes zu implementieren? – Layke

+0

@Laykes Ich könnte glücklicher sein mit einem anderen Framework. Ich entwickle gerade sehr konservativ, da ich den Server, für den ich mich entwickle, nicht kontrolliere. Ich brauche auch keine sehr fortschrittliche Suche nach meiner Seite. Wie auch immer, ich bin immer noch neugierig auf die Stoppwortliste. –

+1

komisch, ich wusste nie über Stoppwörter - hier ist eine vollständige Liste, aber ohne Erklärung: http://dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html –

Antwort

8

Die Stoppwörter sind nur geläufige Wörter in der englischen Sprache. In den meisten Fällen sind Ihre Suchergebnisse relevanter - und Ihre Indizes werden kleiner und schneller -, wenn Sie diese Wörter nicht indexieren.

Sie können die Stoppwortliste mit der Variablen ft_stopword_file bearbeiten (oder auf '' so einstellen, dass alle Wörter so lange oder länger indexiert werden wie ft_min_word_len), wenn dies Ihren Anforderungen besser entspricht. Sie können die minimale indizierte Wortlänge auch mit der Variablen ft_min_word_len ändern, die aus dem gleichen Grund existiert.

+0

Danke für den Einblick! –