Suche funktioniert nicht

Please report bugs here!

Moderator: Thorsten

Post Reply
mstaas
Posts: 4
Joined: Mon Jan 20, 2003 10:15 am

Suche funktioniert nicht

Post by mstaas »

Hallo,

auf unseren DB-Servern läuft MySQL 3.23.38 und PHP 4.2.0.

phpMyFAQ läuft super ... bis auf die Suche.
Die will einfach keine Treffer anzeigen! :?

Gibt es eine Möglichkeit die Suche ans rennen zu bekommen?

Danek und Gruz,
MStaas
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

das Problem mit der Suche hören wir öfters von einigen Benutzern, wir haben allerdings noch nicht den Grund für den Fehler gefunden. Wieviele Artikel hast Du denn bisher in Deiner FAQ?
Bei einem User funktionierte seltsamerweise die Suche, nachdem er mehrere Artikel in seiner Datenbank hatte...

Nachtrag:
Ich habe nun in der MySQL-Doku nachgelesen. Die Volltextsuche von MySQL funktioniert erst, wenn einige Datensätze (5 oder mehr) vorhanden sind, korrekt. Desweiteren darf das zu suchende Wort nicht in mehr als 50% der Datensätze vorkommen, sonst wird es aus dem Ergebnis herausgenommen. Als Grund wird hierbei angegeben, dass man sonst zuviele Suchergebnisse hätte...

Ich trage dies mal in der Dokumentation nach!

bye
Thorsten
mstaas
Posts: 4
Joined: Mon Jan 20, 2003 10:15 am

Post by mstaas »

Hi,

wir haben z.Z. 120 Artikel im FAQ abgelegt.
Jeder Artikel ist mit Keywords verknüpft.
Testhalber haben ich MySQL 4.0.7 eingespielt, ohne verbesserungen.

Zu Deinem Nachtrag:
Macht eine Suche dann noch Sinn?
Solltet Ihr dann nicht eine eigene Suche schreiben?

Gerade die Suche über die Keywords währe extrem wichtig (und auch nützlich).

Danke und Gruß,
MStaas
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

könntest Du mir mal per Mail Eure Adresse der FAQ zusenden, dann schaue ich mir das genauer an!

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
mstaas
Posts: 4
Joined: Mon Jan 20, 2003 10:15 am

Post by mstaas »

Hi Thorsten,

gerne würde ich Dir die URL geben, leider geht das nicht.
Wir (Junghans-Unternehmensgruppe) setzen phpMyFAQ in unserem Intranet ein :wink:
Selbst wenn : zwei Firewalls schützen unsere Leitungen 8)

Wir hatten bereits bei der Softwareauswahl (inkl. Test) festgestellt, dass es mit der Suche Probleme gibt (aber nicht nur bei phpMyFAQ). Für uns war das zu dieser Zeit nicht SO wichtig.

Mit zunehmender Datenmenge gewinnt die Suchfunktion jedoch immer mehr an Bedeutung.

Sorry und Gruz,

MStaas
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hallo,

na gut... :-)

Könnt Ihr die Suche mal auf der MySQL-Konsole testen? Folgendes Query ist dafür nötig:


Code: Select all

SELECT id, rubrik, thema, content FROM faqdata WHERE MATCH (thema,content,keywords) AGAINST ('suchbegriff') AND active = 'yes'
für suchbegriff bitte ein Wort auswählen, was wirklich selten vorkommt...

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
mstaas
Posts: 4
Joined: Mon Jan 20, 2003 10:15 am

Post by mstaas »

Hi,

OK, wird gemacht... aber ...
erst im laufe der Woche.


Gruz,
MStaas
Cyberpet
Posts: 4
Joined: Sun Jan 26, 2003 7:08 pm
Location: Leipzig
Contact:

Post by Cyberpet »

Hallo,

ich glaube Euch als phpMyFAQ-Entwicklern ist da kaum etwas anzulasten - die Suche über einen Fulltext-Index in MySQL liefert nach meiner Erfahrung stets merkwürdige Ergebnisse.

Auch ich erhalte in meiner FAQ z.B. keine Suchergebnisse bei kurzen Suchbegriffen, in diesem Fall bei einer Suche nach "AOL". Der Suchbegriff kommt nur in einem Artikel vor und es wäre mir sehr wichtig, dass dieser Artikel auch gefunden wird. Aber der Suchbegriff ist für MySQL einfach zu kurz, also wird er ignoriert:

Zitat MySQL-Doku:
MySQL uses a very simple parser to split text into words. A ``word'' is any sequence of characters consisting of letters, digits, `'', and `_'. Any ``word'' that is present in the stopword list or is just too short (3 characters or less) is ignored.
Vielleicht wäre es doch gut, wenn Ihr eine eigene Suchroutine beispielsweise auf dem LIKE-Operator aufbaut. Da wird's zwar schwierig mit der Gewichtung, aber es funktioniert wenigstens definitiv :-)

Ciao,

Peter
UN*X is sexy
who | grep -i blonde | date; cd ~; unzip; touch; strip; finger; mount; more; less; more; gasp; yes; uptime; umount; sleep;
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

Suchbegriffe müssen bei der MySQL-Volltextsuche mehr als 3 Zeichen lang sein, das steht aber in der Hilfe bei der phpMyFAQ-Suchseite.

Eine Suche mit LIKE-Anfragen hatten wir in den Versionen 1.0.x und 1.1.x, diese Suche wird aber extrem langsam bei größeren Datenmengen... :(

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Cyberpet
Posts: 4
Joined: Sun Jan 26, 2003 7:08 pm
Location: Leipzig
Contact:

Post by Cyberpet »

Hmm, ja die Sache mit der Geschwindigkeit ist leider auch wahr. :-(

Ähem - den Hilfetext mit der Länge der Suchbegriffe habe ich doch beharrlich ignoriert *grins*

Da werde ich wohl damit leben müssen, dass meine User mich ständig mit dieser AOl-Frage belästigen obwohl die Antwort ja in der FAQ zu finden ist *seufz* ;-)

Ciao, Peter
UN*X is sexy
who | grep -i blonde | date; cd ~; unzip; touch; strip; finger; mount; more; less; more; gasp; yes; uptime; umount; sleep;
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Cyberpet wrote:Da werde ich wohl damit leben müssen, dass meine User mich ständig mit dieser AOl-Frage belästigen obwohl die Antwort ja in der FAQ zu finden ist *seufz* ;-)
Schreib das halt noch ins Template größer rein... 8)

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
AkDk7
Posts: 2
Joined: Sun Mar 23, 2003 4:11 pm
Contact:

Post by AkDk7 »

Moinsen!

Das Problem mit der Suche habe ich nun auch verstanden *g*

Für die Benutzerverwaltung auf meiner HP habe ich letztens auch eine Suche gebastelt, bin aber nicht sofort, auf die "Suchart" MYSQL eingegangen...

Habe mir da selber mal einen Gedanken gemacht und bin auf die Idee gekommen, dass es einfacher ist, wenn man eine Abfrage volgendermassen schreibt:

Beispiel:
SELECT ... FROM ... suchbegriffe LIKE 'suchbegriff%' ORDER BY ... ASC;

Hierbei vergleicht er in der Spalte "suchbegriffe" den Text, in dem der Suchbegriff vorkommt. Anstatt dem % kann man dann ja auch für den Benutzer ein * als Möglichkeit zum Eingeben offen lassen...

Ich hoff, ihr versteht, was ich meine *g*

*GreetingZ*
AkDk7
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi AkDk7,

so funktionierte auch die alte Suche, diese verbraucht aber zuviel Performance und deswegen haben wir eine neue Suche integriert.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
AkDk7
Posts: 2
Joined: Sun Mar 23, 2003 4:11 pm
Contact:

Post by AkDk7 »

Hi!

Aber die hat doch sicher funktioniert, hm???

War ja auch nurn Vorschlag...

Wäre ja auch blöd, wenn es ne Suche gibt, die zumindest funzt, aber zu viel Performance als Anforderung braucht... Hast recht!

AkDk7
Thorsten
Posts: 15724
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

mit MySQL 4.0 ist die Volltextsuche von MySQL sehr viel besser geworden. Dies werden wir in eine der nächsten Versionen mit einbauen.

Auch die derzeitige Suche funktioniert, wenn man die Kriterien von MySQL einhält.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Post Reply