Fragen zu Smart Search

  • Joomla Version
    4.3.1
    PHP Version
    PHP 8.0.x
    Hoster
    Lokal

    Hallo zusammen,

    wir führen gerade die Migration von Joomla 3 auf Joomla 4 durch. Bislang sieht es nicht schlecht aus, aber es zeichnet sich ein Problem mit der Seitensuche ab. Deswegen habe ich zwei Fragen in Bezug auf die "Smart Search" unter Joomla 4,

    1. Wir möchten Beiträge einer bestimmten Kategorie für die Suche ausblenden. Auf der alten Seite unter Joomla 3 haben wir dafür einen Suchfilter angelegt, der alle Kategorien bis auf die unerwünschte enthielt. Das gleiche habe ich auf der neuen Joomla 4-Seite gemacht mit dem Ergebnis, dass gar nichts mehr gefunden wurde. Nach einiger Suche habe ich den Hinweis auf einen Bug in Joomla 4 gefunden:

    Dieser kommt zum Tragen, wenn man Kategorien mit Unterkategorien verwendet und beide, sowohl eine Hauptkategorie, als auch mindestens eine Unterkategorie in den Suchfilter aufnimmt. In diesem Artikel ist auch verlinkt, dass sich ein Entwickler des Problems angenommen hat, und zwar hier:

    [5.0] Smart Search: Fixing taxonomy filter handling by Hackwar · Pull Request #39751 · joomla/joomla-cms
    Pull Request for Issue #39718 . Summary of Changes When I refactored the taxonomies to be a nested set, I overlooked this part. This means that nested…
    github.com

    Ich kenne mich mit GIT und Co nicht wirklich aus, ich befürchte aber nach dem, was ich verstehe, dass die Lösung des Bugs erst in Joomla 5 veröffentlicht werden soll (ab Oktober/Herbst 2023).

    Frage 1: Verstehe ich das richtig, Lösung erst in Joomla 5 verfügbar?

    2. In Joomla 4 scheint die Suche so zu funktionieren, dass nach Ausführung die Ergebnisseite angezeigt wird mit der URL

    https://www.domain.de/suchergebnisse?q=suchbegriff

    Wenn ich jetzt meinen Suchfilter einkonfiguriere, wird an die URL offenbar &f=1 angehängt, was dann dafür sorgt, dass der erste Suchfilter angewendet wird:

    https://www.domain.de/suchergebnisse?q=suchbegriff&f=1

    Ich habe ausprobiert, was passiert, wenn ich bei aktiviertem Suchfilter hier einfach das "&f=1" entferne (was der ein oder andere findige Benutzer dann sicherlich auch täte): Dann wird mir wieder einer der Beiträge angezeigt, die ich eigentlich dem Nutzer nicht über die Suche zugänglich machen möchte (ich hab gerade gesehen, dass das bei Joomla 3 auch schon so ist).

    Frage 2: Gibt es eine Möglichkeit. Beiträge sicher und dauerhaft aus der Suche auszuschließen? Ich denke, dass ein Verfahren wie "Löschen aus dem Index" nicht dauerhaft funktioniert, weil dieser ja immer mal wieder neu aufgebaut wird, wahrscheinlich auch automatisch, oder?

    Viele Grüße,

    Georg

  • Frage 1: Verstehe ich das richtig, Lösung erst in Joomla 5 verfügbar?

    Ja, du kannst aber in Github auf "Files changed" klicken um die Änderungen zu sehen und diese z.B. in deine Joomla! 4 übernehmen (vorher Backup etc.)

    Frage 2: Gibt es eine Möglichkeit. Beiträge sicher und dauerhaft aus der Suche auszuschließen? Ich denke, dass ein Verfahren wie "Löschen aus dem Index" nicht dauerhaft funktioniert, weil dieser ja immer mal wieder neu aufgebaut wird, wahrscheinlich auch automatisch, oder?

    Du kannst nach dem Indexieren beim "indexierten Content" den Status deaktivieren, sodass die Ergebnisse dann nicht mehr angezeigt werden.

  • Du kannst nach dem Indexieren beim "indexierten Content" den Status deaktivieren, sodass die Ergebnisse dann nicht mehr angezeigt werden.

    Ah, ok, ich habe es gerade ausprobiert. So lange ich den Suchindex nicht manuell lösche/leere, bleibt diese Einstellung erhalten.

    Der einzige Komfortverlust an dieser Lösung ist dann, dass neu hinzugefügte Beiträge in der relevanten Kategorie anschließend immer manuell ausgeblendet werden müssen (woran 90% der Autoren nicht denken werden), weil sie vermutlich automatisch nach ihrer Erstellung in den Index aufgenommen werden. Dafür sind diese Beiträge dann auch nicht verfügbar, falls der Benutzer manuell die URL ändert.

    Ja, du kannst aber in Github auf "Files changed" klicken um die Änderungen zu sehen und diese z.B. in deine Joomla! 4 übernehmen (vorher Backup etc.)

    OK, das muss ich mir dann ansehen, wie das geht. Das würde natürlich auch bedeuten, das File oder die Files bei jeder neuen Version bis 5 immer im Nachgang manuell überschreiben zu müssen (und darauf zu hoffen, dass sich durch die neue Version keine Inkompatibiltäten ergeben).

    Ich denke, dass die Variante mit dem Ausblenden im Index für mich die bessere ist.

    Vielen Dank und viele Grüße,

    Georg

    Vielen Dank!

  • Hallo Georg,

    Ja, du kannst aber in Github auf "Files changed" klicken um die Änderungen zu sehen und diese z.B. in deine Joomla! 4 übernehmen (vorher Backup etc.)

    Du kannst nach dem Indexieren beim "indexierten Content" den Status deaktivieren, sodass die Ergebnisse dann nicht mehr angezeigt werden.

    OK, das muss ich mir dann ansehen, wie das geht. Das würde natürlich auch bedeuten, das File oder die Files bei jeder neuen Version bis 5 immer im Nachgang manuell überschreiben zu müssen (und darauf zu hoffen, dass sich durch die neue Version keine Inkompatibiltäten ergeben).

    Wenn Du in Github auf "Files changed" klickst, kommst Du zu: https://github.com/joomla/joomla-cms/pull/39751/files

    bedeutet: rote Zeilen raus - grüne rein.

    Liebe Grüße

    Christine

  • Hallo Christine,

    vielen Dank für die Erklärung. Ich hatte in der Tat bislang erfolglos danach gesucht, die gesamte Datei irgendwie herunterladen zu können...

    Ich werde wahrscheinlich aber doch auf den anderen Vorschlag zurückgreifen, da die auszublendenden Seiten damit auf jeden Fall und unabhängig von Manipulationen an der URL immer ausgeblendet sind.

    Viele Grüße,

    Georg

  • Jetzt hat sich noch eine Anschlussfrage ergeben. Bislang konnte ich mit dem Suchfilter Kategorien, Autoren, etc. ausschließen. Nachdem ich jetzt alle Beiträge, die nicht angezeigt werden sollen, manuell im Suchindex versteckt habe, bekam ich als Treffer auch Kategorien angezeigt (die wir nicht aktiv nutzen und die deswegen keinen sinnvollen Inhalt haben). Auch die habe ich im Index ausgeblendet.

    Was ich allerdings nicht wie beim Suchfilter ausblenden kann, ist die Suche nach Autorennamen. Die sollten eigentlich keine Rolle spielen, da viele Beiträge von den technischen Administratoren angelegt werden. Suche ich jetzt nach einem der Namen, werden die ganzen Beiträge ausgegeben. Nicht wahnsinnig schlimm, aber unschön. Beim Suchfilter konnte ich das alles bequem ausblenden.

    Gibt es für die Autoren noch einen Tipp oder würde ich das dann doch nur mit "Plan A" (Übernahme der Änderungen aus GIT, damit der Suchfilter wieder funktioniert), hinbekommen?

    Viele Grüße,

    Georg

  • Ich hatte in der Tat bislang erfolglos danach gesucht, die gesamte Datei irgendwie herunterladen zu können...

    Die Komplette geänderte Datei anschauen und anschließend z.B. markieren und in die Zwischenablage kopieren kannst du übrigens im Linkziel von #4

    Dort am Ende der Zeile mit dem Dateipfad bzw. Dateiname auf das Symbol mit den drei Punkten klicken -> View File führt zur Ansicht der geänderten Datei:

    github.com/joomla/joomla-cms/blob/57615e56d7f3fab4394803d7aaa3cf15bab63a5b/administrator/components/com_finder/src/Indexer/Query.php

    Dort anschließend auf den Raw-Button klicken und du kommst dahin:

    raw.githubusercontent.com/joomla/joomla-cms/57615e56d7f3fab4394803d7aaa3cf15bab63a5b/administrator/components/com_finder/src/Indexer/Query.php

    Ist ja insbensondere eventuell dann nützlich wenn einmal umfangreichere Änderungen in einer Datei vorliegen.

    Und wenn du bei Github angemeldet bist erscheint neben dem Raw-Button auch ein Download-Button !