Pisearch 1.30
Pisearch 1.30
Hier gibt es das Teil:
http://dev.cmsmadesimple.org/projects/pisearch/
Die schnellste Version, die es bislang gab.
Möglich geworden durch den etwas umständlicheren Weg über eine Resourcenregistrierung bei Smarty, aber unterm Strich hat es sich gelohnt. Noch mehr Speed ist der Lohn für diese Version.
Pisearch ist im übrigen die zur Zeit einzige funktionierende Methode um in CMSMS Inhalten direkt suchen zu können.
Es sucht in den sichtbaren Inhalten eines Webs und wenn diese aus anderen Modulen oder Plugins kommen, dann werden diese automatisch gerendert, was bedeutet, das die Inhalte, die in der Seite nur durch einen Tag vertreten sind, ebenfalls in die Suche mit inbegriffen sind.
Nachtrag:
Pisearch in Aktion ist z.B. hier zu sehen:
http://www.bea-heim.ch/index.php?page=Suche
http://www.chor-lesperance.de/
http://dev.cmsmadesimple.org/projects/pisearch/
Die schnellste Version, die es bislang gab.
Möglich geworden durch den etwas umständlicheren Weg über eine Resourcenregistrierung bei Smarty, aber unterm Strich hat es sich gelohnt. Noch mehr Speed ist der Lohn für diese Version.
Pisearch ist im übrigen die zur Zeit einzige funktionierende Methode um in CMSMS Inhalten direkt suchen zu können.
Es sucht in den sichtbaren Inhalten eines Webs und wenn diese aus anderen Modulen oder Plugins kommen, dann werden diese automatisch gerendert, was bedeutet, das die Inhalte, die in der Seite nur durch einen Tag vertreten sind, ebenfalls in die Suche mit inbegriffen sind.
Nachtrag:
Pisearch in Aktion ist z.B. hier zu sehen:
http://www.bea-heim.ch/index.php?page=Suche
http://www.chor-lesperance.de/
Last edited by Piratos on Wed Dec 07, 2005 10:14 am, edited 1 time in total.
Re: Pisearch 1.30
Ich finde das Teil super - um eine Funktion wäre ich aber froh: Wenn man gewisse Seiten von der Suche ausschliessen könnte. Konkret möchte ich nicht, dass die News gefunden werden - diese Seite enthält sämtliche Links zu den Seiten der HomePage und das gibt dann unnötige "Doppelfindungen" - wäre sowas möglich Piratos?
Merci noch für deine Bemühungen wegen meiner HP, die nach dem Update nicht mehr funktionierte...
Merci noch für deine Bemühungen wegen meiner HP, die nach dem Update nicht mehr funktionierte...
Re: Pisearch 1.30
Alles was mittels Modul oder Plugin in eine Seite eingebunden wird wie z.B. News ist ein sichtbarer Bestandteil eines Inhaltes.
Pisearch arbeitet wie folgt:
1. Zugriff auf die eigentlichen Seiten (Tabelle content).
2. Erkennung ob der rechte und linke Delimiter von Smartytags in einem content enthalten ist, wenn ja muss die Seite gerendert werden, da hier ein Modulaufruf oder Plugin zu vermuten ist.
Ist das der Fall verarbeitet Smarty diesen Inhalt so, als wenn es sich um die normale Ansicht eines Web's handelt, berücksichtigt dabei aber nicht Template und CSS , da das für diesen Einsatz nicht benötigt wird.
Ist das nicht der Fall wird die Seite als solches durchsucht.
Pisearch kann so nicht erkennen welche Tags im Detail im Inhalt vorhanden sind und somit auch nichts ausschliessen.
Das Problem wäre vielleicht zu lösen, wenn man ein registriertes Plugin / Modul für den Suchvorgang mal abmeldet um es kurz vor der Ausgabe wieder anzumelden - das müsste ich mal probieren.
Das würde - wenn es funktioniert - aber bedeuten, dass das betreffende Modul/Plugin komplett nicht gerendert wird und das heisst, es gibt daraus auch nichts zu suchen.
Werde mal fummeln.
Pisearch arbeitet wie folgt:
1. Zugriff auf die eigentlichen Seiten (Tabelle content).
2. Erkennung ob der rechte und linke Delimiter von Smartytags in einem content enthalten ist, wenn ja muss die Seite gerendert werden, da hier ein Modulaufruf oder Plugin zu vermuten ist.
Ist das der Fall verarbeitet Smarty diesen Inhalt so, als wenn es sich um die normale Ansicht eines Web's handelt, berücksichtigt dabei aber nicht Template und CSS , da das für diesen Einsatz nicht benötigt wird.
Ist das nicht der Fall wird die Seite als solches durchsucht.
Pisearch kann so nicht erkennen welche Tags im Detail im Inhalt vorhanden sind und somit auch nichts ausschliessen.
Das Problem wäre vielleicht zu lösen, wenn man ein registriertes Plugin / Modul für den Suchvorgang mal abmeldet um es kurz vor der Ausgabe wieder anzumelden - das müsste ich mal probieren.
Das würde - wenn es funktioniert - aber bedeuten, dass das betreffende Modul/Plugin komplett nicht gerendert wird und das heisst, es gibt daraus auch nichts zu suchen.
Werde mal fummeln.
Re: Pisearch 1.30
Zum Thema excluden hatte ich eine Idee wie man es einfach lösen kann und die funktioniert auch im Test.
Es muss als Parameter exakt der vollständige Modulaufruf, so wie er in einer Seite steht, an Pisearch übergeben werden - ist die Schreibweise nicht identisch funktiioniert es nicht.
Dann kann Pisearch in jedem Content diesen Text löschen bevor es gerendert wird.
Da dann aber Smarty keine Kenntnis mehr davon haben kann , kommen auch keine Informationen aus dem Teil mehr in die Seite.
Fazit: wo nichts mehr ist, kann auch nichts mehr gefunden werden.
Da Pisearch nur einen Lesevorgang durchführt, verändert sich am eigentlichen Content nichts, das Web läuft so wie bisher.
Ich glaube, mit dieser Technik kann man leben.
Das wird die nöchste Version - in Kürze.
Es muss als Parameter exakt der vollständige Modulaufruf, so wie er in einer Seite steht, an Pisearch übergeben werden - ist die Schreibweise nicht identisch funktiioniert es nicht.
Dann kann Pisearch in jedem Content diesen Text löschen bevor es gerendert wird.
Da dann aber Smarty keine Kenntnis mehr davon haben kann , kommen auch keine Informationen aus dem Teil mehr in die Seite.
Fazit: wo nichts mehr ist, kann auch nichts mehr gefunden werden.
Da Pisearch nur einen Lesevorgang durchführt, verändert sich am eigentlichen Content nichts, das Web läuft so wie bisher.
Ich glaube, mit dieser Technik kann man leben.
Das wird die nöchste Version - in Kürze.
Re: Pisearch 1.31
Kannst das jetzt mal probieren.
Ich habe das excluden auf 1 Modul limitiert, da der Bedarf daran nicht gross ist.
Und Anleitung genau einhalten.
Parameter exclude="exakter aufruf des betreffenden modules" aber ohne {} .
Wird im eigentlichen Aufruf z.B. voin news " " verwendet, dann ist das ganze so zu setzen:
Parameter exclude='exakter aufruf des betreffenden modules'
Ich habe das excluden auf 1 Modul limitiert, da der Bedarf daran nicht gross ist.
Und Anleitung genau einhalten.
Parameter exclude="exakter aufruf des betreffenden modules" aber ohne {} .
Wird im eigentlichen Aufruf z.B. voin news " " verwendet, dann ist das ganze so zu setzen:
Parameter exclude='exakter aufruf des betreffenden modules'
Re: Pisearch 1.30
Könntest du mir bitte ein Bsp. machen - mein Newsmodul wird so aufgerufen: {cms_module module='news'} - dies passiert an zwei Stellen in der HomePage, einmal mit einer Anzahlbeschränkung - gehts dann auch?
Habe es versucht aber irgendwie noch nicht geschafft. Habe das Plugin von deiner HP runtergeladen - ich nehme nicht an, dass es mit Version 1.30 geht...?
Habe es versucht aber irgendwie noch nicht geschafft. Habe das Plugin von deiner HP runtergeladen - ich nehme nicht an, dass es mit Version 1.30 geht...?
Re: Pisearch 1.30
Wirklich super - ich danke dir ganz herzlich - das macht die Suchresultate meiner Seite sehr viel übersichtlicher.
*staun*, dass du das einfach so schnell "für mich" programmiert hast - finde auch gut, dass diese unangenehmen, sinnlosen und unnötig persönlichen Diskussionen endlich zu Ende sind...
Merci Piratos






Merci Piratos
Re: Pisearch 1.32
Die aktuelle Version ist die 1.32 .
AB dieser Version wird die Ausgabe komplett über ein Smarty-Template vorgenommen.
Vorteil - im Rahmen der Templates völlig freie Gestaltung der Ausgabe.
AB dieser Version wird die Ausgabe komplett über ein Smarty-Template vorgenommen.
Vorteil - im Rahmen der Templates völlig freie Gestaltung der Ausgabe.
Re: Pisearch 1.30
Das Raufladen der neusten Version bewirkt bei mir, dass nichts mehr gefunden wird...
Re: Pisearch 1.30
Das glaube ich schon, wenn das mitgelieferte Template nicht nach tmp/templates kopiert wurde.
Bis auf Smarty ist alles beim alten.
Bis auf Smarty ist alles beim alten.
Re: Pisearch 1.30
Das ist das Template:
Der Vorteil für den Anwender ist der, dass er CSS - Klassen und jedweden Text so schreiben kann wie er will oder muss.
Ich habe hier z.B. das so gemacht, dass schon im Text unterschieden wird, ob ich einen oder mehrere Treffer, ob ich einen Suchbegriff oder mehrere habe.
Und es sucht einwandfrei auch in Modulen oder Plugins.
Hier ein Bild einer Suche - auf der Seite habe ich meinen RSS-Reader pirss eingesetzt und nach Begriffen gesucht, die nur in dem RSS -Feed von der Tagesschau vorkommen.
[attachment deleted by admin]
Code: Select all
{if $pisearchtotal eq 0}
<div class="pisearchresultheader">Es wurden keine Inhalte mit den Suchbegriffen ->{$pisearchwords}<- gefunden.</div>
{else}
{if $pisearchtotal > 1}
<div class="pisearchresultheader">Es wurden {$pisearchtotal} Inhalte mit {if $pisearchwordcount >1}den Suchbegriffen{else}dem Suchbegriff{/if} ->{$pisearchwords}<- gefunden.</div>
{else}
<div class="pisearchresultheader">Es wurde {$pisearchtotal} Inhalt mit {if $pisearchwordcount >1}den Suchbegriffen{else}dem Suchbegriff{/if} ->{$pisearchwords}<- gefunden.</div>
{/if}
{/if}
{foreach from=$pisearchresults item=entry}
<a class="pisearchlink" href="{$entry->url}">{$entry->menutext}</a> <br /><br />
<div class="pisearchdetails">{$entry->details}</div><br />
{/foreach}
Ich habe hier z.B. das so gemacht, dass schon im Text unterschieden wird, ob ich einen oder mehrere Treffer, ob ich einen Suchbegriff oder mehrere habe.
Und es sucht einwandfrei auch in Modulen oder Plugins.
Hier ein Bild einer Suche - auf der Seite habe ich meinen RSS-Reader pirss eingesetzt und nach Begriffen gesucht, die nur in dem RSS -Feed von der Tagesschau vorkommen.
[attachment deleted by admin]
Pisearch Speicherverbrauch
Leider ist es nicht üblich Angaben zum Speicherverbrauch eines Modules oder Plugins zu liefern.
Wer mit Adodb nur die Datenbank öffnet und sonst nichts, hat schon rund 1,3MB verheizt und nichts mit Adodb getan.
Mysql direkt erledigt die gleiche Aufgabe mit 1024 Bytes.
Nun aber zu Pisearch. Ermittelt wurde an einer frischen 0,10,1 Installation - alle Seiten gecacht.
984 Bytes verbraucht Piserach inaktiv, also eingeunden ohne Suche.
Bei einer Suche OHNE das es zu einem Suchergebniss kam, weil der Suchbegriff nicht in den Inhalten existierte, verheizt Piserach 102.920 Bytes.
Bei einer Suche mit Fundstellen in allen 14 Seiten sind es 116.200 Bytes - der Zuwachs ergibt sich aus den Seiten.
Wenn im Schnitt pro Seite 10 KB angenommen wird, bei einer Webgröße von 200 Seiten ergibt das rund 2,1 MB Speicherbedarf bei einem solchen Suchvorgang .
10 KB ist aber mehr als grosszügig gerechnet, da nur der tatsächliche Inhalt nicht aber das drumherum verarbeitet wird - ich würde daher eher von einer Größenordung von 2 - 3 KB ausgehen und einem Verbrauch von 700 KB bei 200 Seiten.
Das passt noch, wenn man an den tierischen Eigenverbrauch von Adodb denkt.
Wer mit Adodb nur die Datenbank öffnet und sonst nichts, hat schon rund 1,3MB verheizt und nichts mit Adodb getan.
Mysql direkt erledigt die gleiche Aufgabe mit 1024 Bytes.
Nun aber zu Pisearch. Ermittelt wurde an einer frischen 0,10,1 Installation - alle Seiten gecacht.
984 Bytes verbraucht Piserach inaktiv, also eingeunden ohne Suche.
Bei einer Suche OHNE das es zu einem Suchergebniss kam, weil der Suchbegriff nicht in den Inhalten existierte, verheizt Piserach 102.920 Bytes.
Bei einer Suche mit Fundstellen in allen 14 Seiten sind es 116.200 Bytes - der Zuwachs ergibt sich aus den Seiten.
Wenn im Schnitt pro Seite 10 KB angenommen wird, bei einer Webgröße von 200 Seiten ergibt das rund 2,1 MB Speicherbedarf bei einem solchen Suchvorgang .
10 KB ist aber mehr als grosszügig gerechnet, da nur der tatsächliche Inhalt nicht aber das drumherum verarbeitet wird - ich würde daher eher von einer Größenordung von 2 - 3 KB ausgehen und einem Verbrauch von 700 KB bei 200 Seiten.
Das passt noch, wenn man an den tierischen Eigenverbrauch von Adodb denkt.
Re: Pisearch 1.30
also ich muss leider feststellen, dass pisearch bei mir jetzt nicht mehr funktioniert...
Bekomm folgendes:
Es wurden keine Inhalte mit den Suchbegriffen -><- gefunden.
D.h. suchbegriff wird gar nicht erst mitgeliefert...
Bekomm folgendes:
Es wurden keine Inhalte mit den Suchbegriffen -><- gefunden.
D.h. suchbegriff wird gar nicht erst mitgeliefert...
Re: Pisearch 1.30
An der Suchroutine hat sich nichts geändert, die Ausgabe lediglich über Template und das läuft wie ich es sehe.
Diese gezeigte Ausgabe deutet darauf hin, dass über das Formular kein Suchbegriff bei Pisearch angekommen ist deswegen ist es leeer -><- , nrmal würde der die Suchbegriffe dort angezeigt werden.
Lösch doch mal den Cache !
Diese gezeigte Ausgabe deutet darauf hin, dass über das Formular kein Suchbegriff bei Pisearch angekommen ist deswegen ist es leeer -><- , nrmal würde der die Suchbegriffe dort angezeigt werden.
Lösch doch mal den Cache !