mouth
Willkommen Gast.
Um die volle Funktionalität des Forums nutzen zu können,
müssen Sie sich einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

 
Erweiterte Suche

31.110 Beiträge in 6.475 Themen- von 6.477 Mitglieder - Neuestes Mitglied: Frideborg

06-04-2020 19:24:30
JOOM::GALLERY::FORUMArchivJoomGallery 1.5 MVC - ErweiterungenMambots / PluginsErweitertes und natives JoomGallery 1.5 Search Plugin
Seiten: 1 [2] 3
Drucken
Autor Thema: Erweitertes und natives JoomGallery 1.5 Search Plugin  (Gelesen 25155 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #15 am: 03-07-2009 10:01:51 »

Hallo Ida,

ich habe mir dein Frontend einmal angeschaut. Leider habe ich die Ursache des Problems nicht finden können.

Folgendes kann man aber zunächst festhalten:
Das Plugin ist aktiv und liefert auf einen Suchbegriff (z.B. Maxi) die richtigen Treffer und auch die richtige Anzahl von Treffern.
Auch die Ausgabe des Bilddatums funktioniert und ist auch korrekt.
Der Bildtitel und das Thumbnail werden leider nicht angezeigt.

Leider kann ich auch den Fehler bei mir nicht reproduzieren, indem ich genau Deine Einstellungen verwende.

Hast Du schon mal ein anderes Template versucht (z.B. eines der Standardtemplates, kopieren der default_results.php nicht vergessen).

Hast Du mal versucht, die default_results.php wieder zu entfernen und den Parameter Template Overwrite aktiv auf Nein zu setzen. Dann sollte zu mindestens der Bildtitel als Link erscheinen.

Ich kann auch gerne nochmal in Dein Backend schauen (SuperAdmin Zugang und eXtplorer vorausgesetzt).

Gruß
Erftralle

Gespeichert
lda
Newbie
*
Offline Offline

Beiträge: 38


« Antworten #16 am: 03-07-2009 11:34:49 »

selbst wenn ich beez oder rhykmilki verwende und den template overright auf nein setzte funktioniert es nicht....
Gespeichert
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #17 am: 04-07-2009 13:02:26 »

Hallo zusammen,

auf Grund einiger Hinweise von Euch und in freudiger Erwartung auf das neue JoomGallery Search Modul JoomSearch habe ich das JoomGallery Search Plugin noch ein wenig erweitert und verbessert.

Neu ist:
  • Die Itemid zur Bildung der Links auf die JoomGallery Detailansicht bzw. Kategorieansicht kann (muss aber nicht) im Backend als Parameter eingeben werden (siehe auch hier).
  • Die Datenbankabfragen wurden auf den Suchmodus hin (Bilder oder Kategorien) optimiert.
  • Eine Inkompatibilität bei der Verwendung von PHP 4 (keine Anzeige der Titel, Thumbs usw.) wurde beseitigt (siehe auch hier und hier).
  • Implementierung einer Schnittstelle für das JoomGallery Search Modul.

Ein Installationszip (deutsche und englische Sprache enthalten) ist angehängt.

Viel Spass damit, Feedback erwünscht.

Gruß
Erftralle

Edit: Anhang gelöscht, da aktuellere Plugin Version in einem nachfolgendem Beitrag verfügbar.
« Letzte Änderung: 08-07-2009 12:48:58 von Erftralle » Gespeichert
Defender
Jr. Member
**
Offline Offline

Beiträge: 61



WWW
« Antworten #18 am: 04-07-2009 18:02:49 »

Hallo Erftralle,

ich führe unsere Unterhaltung hier weiter  sm_smile

Danke für deine Bemühungen, das Suchlimit funktioniert nun! Jedoch ist die Ladezeit zu groß, er benötigt unter Berücksichtigung, dass wir rund 1200 Kategorien und knapp über 100.000 Bilder haben für eine Suche 20-30 Sekunden.  Sad

Das ist natürlich zu lange, die Datenbankabfrage könnte also dahingehend noch weiter optimiert werden.

Viele Grüße
Thomas
Gespeichert

JoomGallery (Ponygallery ML) seit 2006 im Einsatz - Mehr als 100 000 Fotos online
Perry
Gast
« Antworten #19 am: 04-07-2009 18:35:50 »

Hallo Erftralle,

Heute musste ich zu meiner Freude feststellen, dass Du im JoomGallery Search Plugin die Itemid als Parameter doch eingebaut hast. Das finde ich EINFACH KLASSE und wollte mich auf diesem Weg noch einmal recht herzlich dafür bedanken.

Gruß
Perry
Gespeichert
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #20 am: 04-07-2009 19:24:12 »

Hallo Defender,

das kann ich einfach nicht glauben sm_no .

Du wolltest doch nach Kategorien suchen. Wenn ich in meiner Galerie nach Kategorien suche und das Limit auf 20 setze (du musst das Limit auch nutzen), habe ich das Ergebnis unter einer halben Sekunde komplett auf dem Bildschirm (ich lasse dann auch nur in der Galerie suchen, und nicht in Artikeln usw.).

Ich glaube eher, das Deine Datenbank an sich sehr langsam ist und träge antwortet. Wenn Du zusätzliche DB-Abfragen vermeiden willst, muss in der JoomGallery für jede Kategorie ein Bild manuell für die Thumbnailvorschau vorgewählt werden. Das erspart Dir eine Abfrage, um ein Zufallsbild je Kategorie von der Datenbank zu erhalten).

Wie Du mir per PM sagtest, bist Du ja vom Fach und entwickelst selber. Du kannst Dir die DB-Abfragen ja mal ansehen.
Für gute Vorschläge zur Optimierung bin ich immer zu haben sm_yes.

Einen Profiler zum Messen der Zeit habe ich ja schon in den Code eingebaut. Also, immer her damit, die Wirkung ist sofort nachprüfbar.

Gruß
Erftralle
Gespeichert
Defender
Jr. Member
**
Offline Offline

Beiträge: 61



WWW
« Antworten #21 am: 05-07-2009 02:37:41 »

Hallo Erftralle,

der Mysql Server ist bzw. war zu diesem Zeitpunkt nicht ausgelastet. Desweiteren hast du aber vollkommen Recht, deshalb hat mir Benjamin (b2m) vor langer Zeit ein Cron-Script geschrieben, welches automatisch die Kategorie-Thumnails setzt. Dieses Script hat unseren Server extrem entlastet.

Auch bei fast keiner Server-Last wie momentan benötigt die Suche rund 20-30 Sekunden. Ich habe für mich erstmal die schnellste Lösung gefunden:

Code:
            $query = "SELECT jgc.cid, jgc.name"
                    . " FROM #__joomgallery_catg AS jgc"
                    . " WHERE ". $this->getWhereClause( $text, $phrase )
                    . " AND jgc.published = 1 AND jgc.access <= ".$user->aid;

Dieser minimalistischer Query ist für mich ausreichend, da ich nur die Kategorie ohne weitere Angaben ausgeben lassen möchte. Da nun der sehr datenbanklastige Join entfällt, benötige ich auch nur noch wenige Sekunden.  sm_smile

Viele Grüße
Thomas
« Letzte Änderung: 05-07-2009 03:01:15 von Defender » Gespeichert

JoomGallery (Ponygallery ML) seit 2006 im Einsatz - Mehr als 100 000 Fotos online
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #22 am: 05-07-2009 10:33:09 »

Hallo Defender,

mit dieser SQL-Abfrage nimmst Du dem Plugin (meiner Meinung nach) die schönste Funktionalität, nämlich das Anzeigen von Thumbnails in der Ergebnisliste. Das dies Deine Absicht ist, hast Du vorher mit keiner Silbe erwähnt. Wenn Deine Thumbnailauswahl manuell in der JoomGallery festgelegt ist, sollte deren Einbeziehung in die Ergebnisliste jedoch kaum noch Zeit brauchen.

Die reine Ausgabe von Kategorielisten ohne Thumbnail hättest Du auch erreichen können, indem Du den Parameter Template Overwrite aktiv auf Nein setzt.

Ein Profiling - Test mit ausgeschaltetem Template Overwrite zwischen Deiner SQL-Abfrage (ohne JOIN) und meiner (mit JOIN) ergab ein Performancevorteil Deiner Variante von lediglich 15% im Durchschnitt. Dabei muss ich allerdings erwähnen, das meine Datenbankeinträge bei weitem nicht so zahlreich sind.

Ich würde mich wirklich über Optimierungsvorschläge freuen sm_yes, die auch bei eingeschaltetem Template Overwrite wirksam sind.

Viele Grüße
Erftralle

Gespeichert
Hypnotoad
Entwickler-Team
Jr. Member
*****
Offline Offline

Beiträge: 225



WWW
« Antworten #23 am: 05-07-2009 12:16:38 »

Kurze Zwischenfrage (ohne den Code genauer zu kennen): Nutzt du zufällige Thumbnails für Kategorien, Defender? Da das in der Regel über RAND() in MySQL läuft ist das ziemlich langsam.
Gespeichert

Bitte keine Support-Anfragen per PN. Einfach im Forum posten, vielleicht hat jemand anders ein ähnliches Problem, oder es bereits gelöst.

jAwards - Medallien und mehr in Joomla
Defender
Jr. Member
**
Offline Offline

Beiträge: 61



WWW
« Antworten #24 am: 05-07-2009 16:25:02 »

@Hypnotoad

Ja, diese Funktion nutze ich innerhalb der JoomGallery, im Plugin lass ich keine Thumbnails anzeigen. Ich weiß, dass RAND() sehr langsam läuft, daher hat mir b2m ein Cron-Script geschrieben, welches die Thumbnail automatisch setzt. Dies müsste nun evtl. für die JoomGallery angepasst werden. //Edit: Ich konnte das Script inzwischen erfolgreich an die JoomGallery anpassen.

@Erftralle

Ich nutze keine Thumbnails und lasse nur die Kategorie-Namen ausgeben. Ich dachte, das hätte ich ausreichend erwähnt, tut mir leid. Für diesen Zweck ist mein Query jedoch ausreichend  sm_smile Template Overwrite ist im Plugin natürlich deaktiviert. Führt das Plugin eigentlich RAND() aus, auch wenn ich die Thumnails innerhalb des Plugins deaktiviert habe?

Viele Grüße
« Letzte Änderung: 06-07-2009 01:23:03 von Defender » Gespeichert

JoomGallery (Ponygallery ML) seit 2006 im Einsatz - Mehr als 100 000 Fotos online
lda
Newbie
*
Offline Offline

Beiträge: 38


« Antworten #25 am: 05-07-2009 23:49:30 »

@Erftralle geile arbeit, hast mir Arbeit abgenommen das für php4 noch hinzubiegen. Weiter so machst guten Job :)
Gespeichert
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #26 am: 06-07-2009 21:07:07 »

Hallo zusammen,

@Ida: Vielen Dank.

@Defender, @Hypnotoad:
Führt das Plugin eigentlich RAND() aus, auch wenn ich die Thumnails innerhalb des Plugins deaktiviert habe?

Wenn Du den Parameter Template Overwrite aktiv auf Nein setzt, dann nicht.

Ich habe mir zum Testen auch eine Galerie mit 1200 Kategorien und 100.000 Bildern angelegt. Mal sehen, was ich da noch optimieren kann.
Was ich bis jetzt feststellen konnte, war es eher unklug in der ON Bedingung des Joins (bei der Suche nach Kategorien) keinen indizierten Key zu verwenden. Dies beschleunigt die Suche doch erheblich. Das RAND() extrem langsam läuft, konnte ich aber bisher nicht feststellen.

Ich werde mich mit weiteren Ergebnissen hierzu wieder melden.

Gruß
Erftralle
Gespeichert
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #27 am: 08-07-2009 12:51:28 »

Hallo zusammen,

wie schon angekündigt, habe ich versucht das JoomGallery Search Plugin auf Performance hin zu optimieren. Dazu habe ich mir zu Testzwecken eine Bilddatenbank erzeugt, die ca. 1000 Kategorien mit ca. 100000 Bilder enthält.

Wie schon in meinem vorhergehenden Beitrag erwähnt, war es äußerst unklug von mir, bei der Suche nach Kategorien (Suchmodus "Kategorien") in der ON Bedingung des JOINS keinen indizierten Key zu verwenden. Dies habe ich nun geändert.

Zudem habe ich dann auch noch feststellen müssen, dass die RAND() Funktion bei großen Ergebnistabellen doch extrem langsam wird (siehe Tipp von Hypnotoad). Ich habe die Datenbankabfrage zur Bestimmung eines Thumbnails für eine Kategorie ersetzt. Es wird jetzt nach einem Thumbnail entsprechen der in der Suche eingegebenen Sortierung ermittelt.

Weitere Optimierungen gibt es bei der Bestimmung aller Subkategorien zu einer Kategorie als auch bei der Datenbankabfrage zur Suche in den Bildern bei Verwendung des Suchmodus "Bilder".

Ein Installationszip (deutsche und englische Sprache enthalten) ist angehängt.

Die Suche nach Bildern sollte jetzt deutlich schneller sein.
Über ein Feedback und/oder weiteren Vorschlägen zur Optimierung würde ich mich freuen.

Gruß
Erftralle

Edit: Anhang gelöscht, da aktuellere Plugin Version in einem nachfolgendem Beitrag verfügbar.
« Letzte Änderung: 19-07-2009 15:56:54 von Erftralle » Gespeichert
Defender
Jr. Member
**
Offline Offline

Beiträge: 61



WWW
« Antworten #28 am: 09-07-2009 02:40:45 »

Hallo Erftralle,

wie ich sehe, konntest du meine Ausführungen inzwischen durch eigene Tests belegen sm_smile

Das Plugin ist durch deine Änderungen viel schneller geworden, Bilder sowie Kategorien lassen sich in einer angemessenen Geschwindigkeit suchen.

Gute Arbeit  sm_smile
Gespeichert

JoomGallery (Ponygallery ML) seit 2006 im Einsatz - Mehr als 100 000 Fotos online
Claudia E.
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1.842



« Antworten #29 am: 09-07-2009 06:00:46 »

Bestätige ich gern - funktioniert tadellos. sm_smile
Gespeichert

Freundliche Grüße von
Claudia
Seiten: 1 [2] 3
Drucken
Gehe zu:  

HOSTED BY SCHWARZKÜNSTLER ®

PROTECTED BY  ZB BLOCK  AND Project Honey Pot
Theme orange-lt created by panic

Bad Behavior has blocked 1661 access attempts in the last 7 days.