News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Suche spinnt

Started by haschi, May 03, 2007, 05:51:04 AM

Previous topic - Next topic

haschi

Hö?! Tun sie doch bei dir?!

Jorin

Quote from: haschi on August 21, 2007, 02:44:47 PM
Wofür ist eigentlich die Tabelle smf_log_search_messages? Die ist bei mir leer.

Öhm... Ich hab dort 10.943 Einträge  :o

Dem Aussehen nach könnten es die zu einer Suche gefundenen Beiträge sein, denn die Tabelle besteht ja aus zwei Spalten mit der search_id und der dazugehörigen message_id. Ist aber nur eine Vermutung.

Ferrika

QuoteHö?! Tun sie doch bei dir?!

Meintest Du mich damit, Haschi? Wenn ja: Nein, tun sie nicht. Ich hab die Orstio-Bridge, die verlangt sowas nicht von mir  :D
was ich nicht will, das man mir tu, das füg ich keinem andren zu

ThorstenE

Quote from: nehcregit on August 21, 2007, 06:15:39 PM
Dem Aussehen nach könnten es die zu einer Suche gefundenen Beiträge sein, denn die Tabelle besteht ja aus zwei Spalten mit der search_id und der dazugehörigen message_id. Ist aber nur eine Vermutung.

so hab ich das auch interpretiert, hab sie deshalb einfach kopiert, danach das original geleert..

nochmal zum Thema indizes: habt ihr mit nem frisch installierten 1.1.13 verglichen, ob wirklich alle Uniques und Indexe richtig gesetzt sind? ich bin auch nicht 100% sicher, ob es durch das konvertieren vom phpbb kam oder durch die Updates von 1.1 RC3 bis zum 1.1.13

wenn ihr nicht zuviele Hacks im Board verbaut habt würd noch zum folgenden Test raten: export aller daten (ohne tabellen-Struktur) und import in ein frisch instlaliertes SMF 1.1.13


ThorstenE

#44
lol, hatte auch schon wieder probs aber hab nun hoffentlich die Lösung? bisher läuft meine Suche 1A :) (hoffe mal, daß es so bleibt..

was ich geändert hab:

1. dem user, der auf die DB zugreift volle Rechte gegeben. Confixx hatte den ohne CREATE_TEMPORARY_TABLES angelegt, wie ich aber hier im Forum gelesen hab wird das wohl gebraucht..

2. die SourcesSearch.php abgeändert:
suche
$canDoBooleanSearch = version_compare(mysql_get_server_info($db_connection), '4.0.1', '>=') == 1;

in der Zeile danach eingefügt:
$canDoBooleanSearch = 1;

Edit: ich bin mir nicht sicher, ob man das braucht.. ich hatte den Verdacht, daß das Board meine MySQL-Version nicht richtig interpretieren wollte weil der Server zwar > 4.0.1 ist aber der Client noch 3.23.57

3. im Admin-Interface unter Wartung - unwichtige Protokolle löschen

und siehe da die Suche funktioniert.

Hoffe, daß es so bleibt und auch dem ein oder anderen hilft ;)

Gruß
Thorsten


haschi

Hmm.. Weder das eine noch das andere zeigt Wirkung.

Der DB-User hat 'ALL PRIVILEGES' auf seine Datenbank. Daher ist da schonmal nicht das Problem.

Also die Punkte 1, 2 und 3 scheinen das Problem generell nicht zu lösen. Schade... Hat sich erst sher schön gelesen.. :(

haschi

#46
Quote from: nehcregit on August 21, 2007, 06:15:39 PM

Öhm... Ich hab dort 10.943 Einträge  :o

Dem Aussehen nach könnten es die zu einer Suche gefundenen Beiträge sein, denn die Tabelle besteht ja aus zwei Spalten mit der search_id und der dazugehörigen message_id. Ist aber nur eine Vermutung.

Hmm.. Komisch. Bei sind folgende Tabellen leer:
smf_log_search_messages
smf_log_search_topics


smf_log_search_words läuft mit 18.768.356 Einträgen fast über! :D

ThorstenE

#47
@Haschi: leere mal die Tabelle smf_log_search_words per Hand, bin davon ausgegangen, daß das Log-Löschen im Admin-Bereich selbiges tut. da sind nämlich alte & damit falsche Suchergebnisse gecached ;)

ausserdem solltest du lnoch im Wartungsbereich "Fehler finden und reparieren" durchlaufen lassen, ggf. sind da auch noch Gründe enthalten warum es nich geht.
PS: ich nutze einen FULLLTEXT-Index, hab auch den Haken gesetzt, daß das Forum den Index nutzen muss.

haschi

@ThorstenE

Alles probiert. Hab auch mal alle search_logs geleert. Leider auch hier kein Ergebniss.

Kann es auch an der Kollation liegen?! Würde aber eher keinen Sinn machen.

haschi

So.. Wir haben jetzt diesen Mod installiert und siehe da, es scheint zu gehen!! Bis jetzt haben wir nichts gefunden, was wir vorher nicht gefunden haben.

Da frag ich mich nur, wieso SMF das nicht so gut hin bekommt?! Naja, wir werden die Wochen noch testen und dann in englische Supportforum schreiben.

s--k

Quote from: haschi on September 19, 2007, 05:25:06 AM
So.. Wir haben jetzt diesen Mod installiert und siehe da, es scheint zu gehen!! Bis jetzt haben wir nichts gefunden, was wir vorher nicht gefunden haben.

Da frag ich mich nur, wieso SMF das nicht so gut hin bekommt?! Naja, wir werden die Wochen noch testen und dann in englische Supportforum schreiben.

*grummel*
Ja... haben "wir" auch...nun kommt bei jedem Drücken auf den Suche-Button:
"Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in .../webseiten/Sources/Search.php on line 1241"

Prima Mod :( Aber ob die Fehlermeldung oder wie vorher: bei jeder Suche IMMER 0 (Null) Treffer-
was macht´s aus?

Mann, hab ich einen sch.. Frust wegen dieser Suchfunktion!

haschi

Hast du den Mod installieren lassen oder per Hand eingepflegt? Prüf mal, ob die Änderungen alle so übernommen wurden wie sie in der xml stehen.

Ansonsten den Mod deinstallieren und per Hand einpflegen.

s--k

Neee- installieren lassen geht schon seit einer Ewigkeit nicht mehr und ich frickel
auch nicht mehr rum an dem  :'(-Teil, seit dem jemand mal Sternzeichen haben wollte
und ich dachte, daß so ein Mod mal grad eben so sich wieder deinstallieren lässt,
nachdem wir erkannt haben, daß die Sternzeichen auf Türkisch unter den Usernamen
angezeigt werden...

Also eben auf die Platte lokal runtergeladen und dann halt hochgeladen und installiert,
wobei er da schon anfing zu mosern, ein Fehler würde in der Installation sein, was ich
ignorierte, da die Suche bei uns ja bisher NIE funktioniert hat (egal mit welchen Optionen,
ob erzwungen oder nicht mit leeren Indexen oder neuerstellten oder oder oder)
und es mir deshalb egal war, da es ja nur besser werden kann.

Konnte ja keiner Ahnen, daß er gleich so abschmiert :(

Mann, ich hab mittlerweile so einen Frust mit dem Forum, daß ich das am liebsten
echt alles schmeißen würde- aber dann habe ich ein paar Semester, die mir aufs Dach
steigen würden, da wir semesterübergreifend darüber kommunizieren :(

Vielleicht studiere ich als nächstes mal Informatik, damit ich das mit den Mods, einbinden
und den Fehlermeldungen irgendwann verstehe :(

Einen Vorschlag habe ich aber an die Macher:
macht doch eine 1,99 EUR/Min Hotline und verdient euch so etwas dazu- mir wären
10 Min an der Hotline mehr wert, als sich stundenlang versuchen hier durch mir unverstänliche
Texte zu wurschteln und dann doch nur mehr zu destabilisieren im eigenen Forum als zu verbessern...

Ich werd meinen Studies dann wohl sagen, daß sie da nicht draufklicken sollen und ich die neue Version
abwarten will, wo hoffentlich der Import klappen wird und die Suche auch wieder funktionieren wird.

FRUST- einfach nur FRUST...so lange konnt ich die Finger still halten und hab da nichts mehr dran gemacht
und jetzt mal die freie Zeit für was gutes versucht zu nutzen und MAL WIEDER geht es in die Grütze.


Mannomannomann  >:(

Jorin

Ts ts ts, s--k. Da machst du anscheinend aus Unwissenheit, was ich dir zwar nicht vorwerfen möchte, was sich aber beseitigen lässt, mit dem Installieren von Mods so ziemlich alles verkehrt, was man verkehrt machen kann. Ich bin mir zu 100% sicher, alle Probleme mit Mods, die du bisher hattest, lassen sich ruck-zuck lösen.

Als Lektüre empfehle ich dir mal diese FAQs: http://www.smfportal.de/index.php/board,42.0/action,faq.html

Dann bist du schonmal etwas schlauer.

s--k

Sorry- aber wenn ich jetzt vor den anstehenden Klausuren noch mehr rumfrickel und
allen mal grad die Möglichkeit nehme, durch Scripte zu blättern oder noch die eine oder
andere fachliche Frage zu stellen, dann werde ich gelüncht :)

Oh- ich bin hoffentlich bald viel schlauer- es hat sich ein barmherziger User von hier gefunden,
der mir helfen möchte und an dieser Stelle schon mal einen riesigen Dank!

Bloodsurfer

So, ich schließe mich hier mal der allgemeinen Frustration über die Suchfunktion an. Auch in meinem Forum funktioniert diese nicht.
Die Probleme sind die selben wie hier schon beschrieben, teils werden alte, teils neue Threads nicht gefunden. Auch sehr häufig auftretende Wörter werden manchmal nicht gefunden.
Ich hab schon so einiges versucht und bin mittlerweile mit meinem Latein am Ende.

Erstmal ein paar technische Infos. Server läuft auf Debian Etch, somit PHP 5.2.0-8+etch10, MySQL 5.0.32, SMF 1.1.4.
Es handelt sich um ein konvertiertes Forum - das lief von 2002 bis Mitte 2007 als phpBB, und wurde dann von mir auf SMF 1.1.3 konvertiert, danach auf 1.1.4 aktualisiert als diese erschien.

Was hab ich schon alles versucht? Ich verwende diesen Suchverbesserungs-Mod, der hier schon empfohlen wurde. Ich hab die Datenbank gedumpt (also den reinen Tabelleninhalt ohne Struktur) und wieder in eine frische 1.1.4er Installation eingespielt. Mein DB-User hat alle Berechtigungen in seiner DB.
Ich verwende auch nicht viele Mods, und erst recht keinen der die Search.php verändert hätte - abgesehen von oben erwähntem natürlich. ;)
Ich verwende einen Volltext-Index, aber auch mit benutzerdefiniertem Index oder ganz ohne Index ändert sich die Lage nicht. Auch die oben erwähnten search_log_Tabellen hab ich immer mal wieder geleert.

Bisher waren alle diese Versuche erfolglos, die Suche funktioniert immer noch nicht besser als vorher. Ich weiß nicht mehr wirklich was ich noch probieren soll...

Jorin

Wäre unser Forum online, würde ich dir einen Link mitteilen, der das Problem vielleicht auch bei dir lösen würde. Zumindest bei uns hat es etwas gebracht, dass wir temporäre Tabellen anlegen dürfen (Hoster fragen). Seitdem funktioniert die Suche fehlerfrei.

ThorstenE

#57
ich fasse einfach nochmal zusammen:

Der Fehler in der Suche äußert sich in der Form, daß man Suchergebnisse findet, die mit dem eingegebenen Suchbegriff nichts zu tun haben. Hierbei handelt es sich um Suchergebnisse aus vorherigen Suchen

Das Problem läßt sich (bei der Version 1.1.4) wie folgt lösen:

1) der Datenbank-User MUSS das Recht haben TEMPORARY_TABLES zu erstellen. Das kann man per PHPMyAdmin relativ einfach testen, im SQL-Fenster einfach folgenden Code eingeben:

CREATE TEMPORARY TABLE tmp (meine_spalte INT(4))

kommt die folgende Meldung ist das Recht vorhanden: Ihr SQL-Befehl wurde erfolgreich ausgeführt.
kommt die Meldung: access denied hat der User das Recht nicht!

hier hilft dann nur: Webhoster anschreiben und ihn bitten, das Recht einzurichten. Die Hosting-Software Confixx z.B. vergibt dieses Recht NICHT automatisch. Wer also bei einem Hoster sein Forum hat, der mit Confixx arbeitet, wird das Problem möglicherweise haben.

Wenn Punkt 1) sichergestellt ist (und nur dann) kann man mit Punkt 2) weitermachen:

2) im ACP - Wartung - den Punkt "unwichtige Protokolle löschen" aufrufen. Dadurch werden alle vorherigen Suchergebnisse aus den Tabellen bereinigt.

3) Einen Suchindex erstellen vom TYP "FULLTEXT". Der Volltext-Index hat den Vorteil, daß er die Suche zum einen deutlich schneller macht und gegenüber dem Custom-Index den Vorteil, daß er auch für Begriffe funktioniert, die nach Erzeugung des Indexes in die Datenbank gespeichert werden (neue Beiträge mit neuen Suchwörtern).

Empfehlen würde ich zudem den Suchindex zu erzwingen, da bei Wörtern unter 4 Zeichen sonst ohne Index gesucht wird. Das ist bei großen Foren extrem belastend für den Server.

Die oben genannte Lösung wurde bei mehreren Foren, die vorher enorme Probleme mit der Suche hatten, erfolgreich umgesetzt.
Gruß
Thorsten

haschi

Hallo!

Wir testen seit einigen Wochen ausgiebig SMF2. Nur was uns wieder auffällt... Die Suche findet nicht das was man finden möchte!

Gleiches Beispiel wie zum Anfang. Die Suche findet Einträge mit dem Suchbegriff "Subwoofer", wiederum keine Eintrage mit "Subwoo". Sucht man jetzt nach dem Wort "mit", findet er alles wo "mit" drin vorkommt, sei es "Damit", "Miteinander" o.ä.

Also irgendwas stimmt da nicht. Liegt es evtl. wirklich am Server? Hab MySQL und PHP5 auf Aktualität geprüft, beides die aktuellste Version.

Gruß
Marco 

ThorstenE

hostest du das Forum auf einem eigenen Server? dann solltest du dir mal Sphinx ansehen. mehr dazu findest du in dem BigBoards Bereich...

Advertisement: