das bekomme ich immer als Mail. Das kommt immer bei einem post mit umlauts
Vielleicht hilft das ja. Die vom VB Support haben auch die DB und Report ist erstellt. War aber eines der ersten Sachen die ich gemeldet habe.
Gelöst: vBulletin Suche Sonderzeichen und Umlaute
-
-
Ach Du heiliger Mist, bei jedem Umlaut eine Fehlermail .... Allerdings kann man nach der Mail nun nicht gehen, denn dort wäre der Umlaut falsch. Fraglich nun, ob der nur in der Mail falsch ist oder versucht wird, falsch abzusetzen, also die Query wirklich so ist.
Frage: Wie lange dauert es denn, bis der Suchindex neu erstellt ist und könnte man das während dem Tag machen? Oder geht da der Server in Schlafmodus?
-
nee dauert etwa halbe stunde den neu zu erstellen. Nach der Erstellung sind allerdings auch in der Suche die Umlaute wech.
Ja bei jedem Umlaut in einem Post ne Fehlermail.Der Server kann das ab, fällt gar nicht auf das er arbeitet. Sind genug Ressourcen vorhanden.
-
Also, dann lösche den Suchindex jetzt bitte mal. Aber bitte nur löschen, nicht neu erstellen !!!
-
gelöscht
-
Bitte Rückmeldung, wenn gelöscht
-
ok, ist gelöscht, ich sehe es. Daten sind alle weg. Nun bitte neu aufbauen lassen. Habe wieder zwei Post mit Kennungen versehen, mal sehen, welche der nun zieht.
-
ich sag bescheid wenn der fertig ist..
-
Ok, er ist anscheinend ja bei 70.000 von 115.000, geht also doch recht flott. Dachte das dauert Stunden
-
Also ich kann aber schon mal einen Zwischenbericht geben. Hier in der DB hackt es irgendwo. Hundeb(mit ü)rste (will das Wort extra nicht schreiben), sondern katzenbürste, wurde wieder zu "hundebrste". Das Ü wurde also einfach wieder verschluckt. Wenn ich nun richtig liege, dann ist dieses katzendingens dann richtig in der DB. Also richtig sind die Wörter, die beim Posten direkt gesendet werden.
Falsch sind die Dinger, die per Admin-Aufruf neu gebildet werden. Das aber nicht allgemein bei vBulletin, sondern spezifisch hier im Forum. Bei mir sind die alle richtig, wenn die im Post richtig waren.
Aber mal sehen, welche der beiden Tierbürsten dann letztendlich wirklich da ist.
-
fertig
-
Ok, sehe es mir gleich an. Bin gerade an was anderem dran. Nee, auch Suche, aber eher die Frage nach dem wie. Daher hier mal ein paar Querys, die mein System ausspukt.
PHP
Alles anzeigensql: SELECT * FROM forumcache WHERE `cacheid` IN ('vb_types.types') sql: SELECT * FROM forumnode AS node WHERE contenttypeid NOT IN (23,29) LIMIT 3,1 sql: SELECT text.previewtext, text.previewimage, text.previewvideo, text.imageheight, text.imagewidth, text.rawtext, text.moderated, text.pagetextimages, text.pagetext, text.htmlstate, text.allowsmilie, text.showsignature, text.attach, text.infraction, text.reportnodeid FROM forumtext AS text WHERE text.nodeid = 18 sql: SELECT * FROM forumcache WHERE `cacheid` IN ('vBAtchmnts_18') sql: UPDATE forumsession SET `lastactivity`=1396265013,`languageid`=3 WHERE (`sessionhash` = '52dba9396889859aecb92ccf84800bb2') /**session**/ sql: UPDATE forumuser SET `lastactivity`=1396265013 WHERE (`userid` = 1) /**user**/ sql: /** saveDbCache */REPLACE INTO forumcacheevent (cacheid, event) values ('52dba9396889859aecb92ccf84800bb2','perms_changed'), ('52dba9396889859aecb92ccf84800bb2','userChg_1'), ('52dba9396889859aecb92ccf84800bb2','userPerms_1') sql: UPDATE forumsession SET `loggedin`=2 WHERE (`sessionhash` = '52dba9396889859aecb92ccf84800bb2') /**session**/ sql: UPDATE forumuser SET `lastactivity`=1396265013 WHERE (`userid` = 1) /**user**/
Das waren alle Query für den Rebuild des Suchindexes für einen Datensatz. Man sieht hier also eigentlich auch, dass in die Worttabellen nichts geschrieben wurde.Jetzt mache ich das ganze nochmal mit zuvor gelöschten Tabellen.
-
Das ist ein schöner Mist, wenn man da ständig die DB wechseln muss ...
So, das ganze nun nach gelöschten Daten:
PHP
Alles anzeigensql: SELECT * FROM forumcache WHERE `cacheid` IN ('vb_types.types') sql: SELECT * FROM forumnode AS node WHERE contenttypeid NOT IN (23,29) LIMIT 25,1 sql: SELECT text.previewtext, text.previewimage, text.previewvideo, text.imageheight, text.imagewidth, text.rawtext, text.moderated, text.pagetextimages, text.pagetext, text.htmlstate, text.allowsmilie, text.showsignature, text.attach, text.infraction, text.reportnodeid FROM forumtext AS text WHERE text.nodeid = 40 sql: SELECT * FROM forumcache WHERE `cacheid` IN ('vBAtchmnts_40') SELECT a.*,'a' as suffix FROM forumsearchtowords_a a WHERE a.nodeid = 40 UNION SELECT b.*,'b' as suffix FROM forumsearchtowords_b b WHERE b.nodeid = 40 UNION SELECT c.*,'c' as suffix FROM forumsearchtowords_c c WHERE c.nodeid = 40 UNION SELECT d.*,'d' as suffix FROM forumsearchtowords_d d WHERE d.nodeid = 40 UNION SELECT e.*,'e' as suffix FROM forumsearchtowords_e e WHERE e.nodeid = 40 UNION SELECT f.*,'f' as suffix FROM forumsearchtowords_f f WHERE f.nodeid = 40 UNION SELECT g.*,'g' as suffix FROM forumsearchtowords_g g WHERE g.nodeid = 40 UNION SELECT h.*,'h' as suffix FROM forumsearchtowords_h h WHERE h.nodeid = 40 UNION SELECT i.*,'i' as suffix FROM forumsearchtowords_i i WHERE i.nodeid = 40 UNION SELECT j.*,'j' as suffix FROM forumsearchtowords_j j WHERE j.nodeid = 40 UNION SELECT k.*,'k' as suffix FROM forumsearchtowords_k k WHERE k.nodeid = 40 UNION SELECT l.*,'l' as suffix FROM forumsearchtowords_l l WHERE l.nodeid = 40 UNION SELECT m.*,'m' as suffix FROM forumsearchtowords_m m WHERE m.nodeid = 40 UNION SELECT n.*,'n' as suffix FROM forumsearchtowords_n n WHERE n.nodeid = 40 UNION SELECT o.*,'o' as suffix FROM forumsearchtowords_o o WHERE o.nodeid = 40 UNION SELECT p.*,'p' as suffix FROM forumsearchtowords_p p WHERE p.nodeid = 40 UNION SELECT q.*,'q' as suffix FROM forumsearchtowords_q q WHERE q.nodeid = 40 UNION SELECT r.*,'r' as suffix FROM forumsearchtowords_r r WHERE r.nodeid = 40 UNION SELECT s.*,'s' as suffix FROM forumsearchtowords_s s WHERE s.nodeid = 40 UNION SELECT t.*,'t' as suffix FROM forumsearchtowords_t t WHERE t.nodeid = 40 UNION SELECT u.*,'u' as suffix FROM forumsearchtowords_u u WHERE u.nodeid = 40 UNION SELECT v.*,'v' as suffix FROM forumsearchtowords_v v WHERE v.nodeid = 40 UNION SELECT w.*,'w' as suffix FROM forumsearchtowords_w w WHERE w.nodeid = 40 UNION SELECT x.*,'x' as suffix FROM forumsearchtowords_x x WHERE x.nodeid = 40 UNION SELECT y.*,'y' as suffix FROM forumsearchtowords_y y WHERE y.nodeid = 40 UNION SELECT z.*,'z' as suffix FROM forumsearchtowords_z z WHERE z.nodeid = 40 UNION SELECT other.*,'other' as suffix FROM forumsearchtowords_other other WHERE other.nodeid = 40 /**fetch_indexed_words**/; sql: UPDATE forumnode SET `CRC32`=2283396213 WHERE (`nodeid` = 40) /**node**/ sql: SELECT * FROM forumwords WHERE `word` IN ('hundebürstenhalterung','wort','lang','hundebürsten') sql: INSERT INTO forumwords (`word`) VALUES ('hundebürstenhalterung'),('wort'),('lang'),('hundebürsten') /**words**/ sql: SELECT * FROM forumwords WHERE `word` IN ('hundebürstenhalterung','wort','lang','hundebürsten') sql: INSERT INTO forumsearchtowords_h (`nodeid`,`wordid`,`is_title`,`score`,`position`) VALUES (40,137,1,11951,1),(40,140,0,10000,4) /**searchtowords_h**/ sql: INSERT INTO forumsearchtowords_w (`nodeid`,`wordid`,`is_title`,`score`,`position`) VALUES (40,138,0,10000,2) /**searchtowords_w**/ sql: INSERT INTO forumsearchtowords_l (`nodeid`,`wordid`,`is_title`,`score`,`position`) VALUES (40,139,0,10000,3) /**searchtowords_l**/
Wie man sieht, nun werden die Tabellen benutzte, also die searchtowords und die words. Auch sieht man, dass die Daten richtig kodiert sind. -
Man sieht auch, dass der die Datenbank "words" vorher abfrägt, ob das Wort schon drinnen ist (SQL 5). Wenn nicht, dann folgt der Insert (SQL 6). Bei 7 fragt er dann die neuen wordids ab um die dann bei 8 in die Wortlisten zu packen.
Genau SQL 6 bringt bei Dir die Fehlermeldung. Wohl auch daher, weil der Select davor sagt, "nee, wort ist nicht drinnen". Und das wohl damit begründet, dass der da irgendwo ein Problem mit dem Zeichensatz hat.
Frage: Die Einstellung $config['Mysqli']['charset'] = 'utf8'; in der config.php hast Du, oder?
-
-
Und, man sieht definitv auch, wo er seine Daten herholt. SQL 1 und 2, also aus "node" und "text".
-
So, Vergleiche:
Tabelle "text" bei Dir: utf8_general_ci
Tabelle "text" bei mir: utf8_general_ci -
Tabelle "words" bei Dir: utf8_general_ci
Tabelle "words" bei mir: utf8_general_ci -
So, das war beides gleich und nun die Unterschiede:
Die Spalten in beiden Tabellen bei Dir: utf8_general_ci
Bei mir: latin1_swedish_ci -
Hm, ich komme da nicht weiter. Fakt ist, die Kollation der Spalten unterscheidet sich bei uns. Was anderes sehe ich hier nicht als Unterschied. Den Query-Debug kann man bei Dir leider gar nicht laufen lassen, denn es geht nur überall oder nirgends.
-