Pisearch 1.30

Hilfe zu Modulen und Tags
Piratos

Pisearch 1.30

Post by Piratos »

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/
Last edited by Piratos on Wed Dec 07, 2005 10:14 am, edited 1 time in total.
ochsner

Re: Pisearch 1.30

Post by ochsner »

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...
Piratos

Re: Pisearch 1.30

Post by Piratos »

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.
Piratos

Re: Pisearch 1.30

Post by Piratos »

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.
Piratos

Re: Pisearch 1.31

Post by Piratos »

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'
ochsner

Re: Pisearch 1.30

Post by ochsner »

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...?
ochsner

Re: Pisearch 1.30

Post by ochsner »

Vergiss es - habs gerade gesehen... :-[
ochsner

Re: Pisearch 1.30

Post by ochsner »

Wirklich super - ich danke dir ganz herzlich - das macht die Suchresultate meiner Seite sehr viel übersichtlicher.  :)  :)  :)  :)  :) 
:o *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
Piratos

Re: Pisearch 1.32

Post by Piratos »

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.
ochsner

Re: Pisearch 1.30

Post by ochsner »

Das Raufladen der neusten Version bewirkt bei mir, dass nichts mehr gefunden wird...
Piratos

Re: Pisearch 1.30

Post by Piratos »

Das glaube ich schon, wenn das mitgelieferte Template nicht nach tmp/templates kopiert wurde.

Bis auf Smarty ist alles beim alten.
Piratos

Re: Pisearch 1.30

Post by Piratos »

Das ist das Template:

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}
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]
Piratos

Pisearch Speicherverbrauch

Post by Piratos »

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.
tho

Re: Pisearch 1.30

Post by tho »

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...
Piratos

Re: Pisearch 1.30

Post by Piratos »

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  !
Post Reply

Return to “Module und Tags”