Page 1 of 1

PHPDig - Suchmaschine

Posted: Mon Jun 05, 2006 7:45 pm
by Piratos
An anderen Stellen wurde immer wieder mal PHPDig als Suchmaschine für die CMS angedeutet.

Wer will kann das ja mal probieren  http://phpdig.de/

Aber - nach meiner Meinung für CMSMS völlig ungeeignet.

Es wird ein Volltextindex (mit Ausnahmen) angelegt, der nebst Links solange gültig bleibt, als wie man sein eigenes Web neu verarbeitet.

D.h. die Treffer beziehen sich auf statische Angaben, die dann in die Hosen gehen, wenn eine Seite ziemlich dynamisch ist.

Bei meinem Test habe ich nie eine volle Funktion erreicht, d.h. Seiten die als Link vorhanden waren wurden nicht verarbeitet bzw. es waren keine Inhalte da.

Die Art der Einbindung ist für die meisten CMS Anwender zu schwer.
Bei 5000 Seiten gibt es Probleme.
Ein Spiderdurchlauf ist ziemlich langsam, Suche jedoch schnell - wenn auch nicht schneller als Pisearch.

PHPDig ist auf Mysql beschränkt, hat man also eine andere Datenbank ist es nicht einsetzbar.

Apache mit safe mode ist nicht möglich.

Naja es kann ja nun jeder mal einen Versuch machen - viel Spass.

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 12:02 pm
by cyberman
Piratos wrote: D.h. die Treffer beziehen sich auf statische Angaben, die dann in die Hosen gehen, wenn eine Seite ziemlich dynamisch ist.
... so, wie bei Google auch  :) ...
Bei 5000 Seiten gibt es Probleme.
Dieses Limit ist ja bereits auf der Homepage erwähnt. Hast du es genauer untersucht? Welche Probleme können da auftreten?

Hatte bislang noch keine HP unter CMSms mit mehr als 5000 Seiten  ;D.
PHPDig ist auf Mysql beschränkt, hat man also eine andere Datenbank ist es nicht einsetzbar.
Hmm, nach deinen Tests ist MySQL die meistverwendetste DB für CMSms.
Naja es kann ja nun jeder mal einen Versuch machen
Wer es testen möchte, hier ein (aus dem englischen Forum übersetztes) HowTo:

1. PHPDig im Modulverzeichnis installieren (bei Installation über phpdig/admin/install.php ist Login und PW jeweils 'admin')
2. Einen benutzerdefinierten Tag mit dem Namen phpdig und dem folgenden Inhalt erstellen:

Code: Select all

echo $_GET['query_string'];
3. Eine im Menü nicht sichtbare Seite mit dem Namen 'Search' erstellen (Name kann später angepasst werden)
4. Folgenden Inhalt in diese Seite einfügen:

Code: Select all

<__iframe scrolling="no" frameborder="0" style="overflow: visible; width: 100%; display: none;" hspace="0" vspace="0" marginheight="0" marginwidth="0" src="http://www.meine-seite.de/modules/PHPDig/search.php?query_string={phpdig}" id="myframe" allowtransparency="true"></__iframe>
Der Pfad zum Modulverzeichnis ist individuell anzupassen.

5. Im Header der Seite folgendes JavaScript einfügen:

Code: Select all

{literal}
<__script__ type="text/javascript">

/***********************************************
* IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["myframe"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller

</__script>
{/literal}
6. An der gewünschten Stelle im Template das Suchfeld einfügen:

Code: Select all

<form action="http://www.meine-seite.de/index.php" target="_self" method="get">
<input type="hidden" name="page" value="Search">
<input type="text" name="query_string" value=""></td>
<input type="submit" name="Submit" value="Search">
</form>
7. In der Administration von PHPDig die Homepage spidern lassen (hat bei mir lokal mit der Standardinstallation knappe 4 Minuten gedauert).

Wer will, sollte sich bereits jetzt die Ergebnisse anzeigen lassen können.

8. Alternativ kann noch eine Seite als erweiterte Suche mit http://www.yoursite.com/index.php?page=search bzw. http://www.yoursite.com/index.php/search als Link eingebaut werden.

9. Wenn es gefällt, sollte abschließend noch das phpdig-Template angepasst werden, denn das Original ist IMHO ziemlich ugly  :) .

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 1:21 pm
by Piratos
so, wie bei Google auch
So ist es - die Treffer sind abhängig vom letzten spidern.
5000
Ich hab auch keine 5000 aber ein Script um solche zu generieren. Seitenumfang mit Zufallsworten (sind nur zufällig Buchstaben ohne Sinn, mindestens 4 Buchstaben max. 15  ) 4 KB Gesamt pro Seite  - spidern nach 30 Minuten abgebrochen - da war mir die Zeit zu schade.

Meterlange Einbindungsanweisung

Wenn ich überlege dass es Leute gibt die mit dem Plugin Pisearch bereits Probleme mit der wirkich einfachen Einbinung haben, dann weiss ich nicht, wer das hier machen soll.

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 1:32 pm
by cyberman
Piratos wrote: Wenn ich überlege dass es Leute gibt die mit dem Plugin Pisearch bereits Probleme mit der wirkich einfachen Einbinung haben, dann weiss ich nicht, wer das hier machen soll.
Die, die es interessiert, bekommen es mit der Anleitung auch hin. Die, die es nicht hinbekommen, haben zumindestens keinen Grund, sich über ein fehlendes HowTo zu beschweren  ;D.

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 2:57 pm
by Piratos
So ist es .

Man soll auch nicht übersehen, dass man mit PHPDig auch alle Worte aus dem Template als Treffer erhalten wird und das über den sichtbaren Anteil heraus rein nichts gesucht bzw. gefunden werden kann - etwas wo die Leute bereits beim Plugin Pisearch gemeckert haben, das ja nur die sichtbaren Anteile von News in der Seite duchflöht hat - bei der Moduleversion geht es ja direkt in die Datenbank  UND eventuell in den News  vorhandene weitere Plugin oder Module - Inhalte werden ebenfalls berücksichtig - das kann PHPDig in keinster Weise.

Einige Leute wie der berühmte P. , verstehen offenbar immer noch nicht, das ein einfaches durchsuchen der Datenbank bei der cms nicht ausreicht, weil Inhalte über die Tags entstehen können.

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 3:43 pm
by cyberman
Was mir allerdings sehr gut gefallen hat, waren die Statistik-Funktionen - für den Admin durchaus ein interessantes Tool zur Erhöhung der Usability einer Seite.

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 4:01 pm
by Piratos
Na schön, aber ich könnte das nicht gebrauchen.

Was man will ist dass die Leute schnell zu einem Ergebnis kommen und dieses dann angezeigt wird.
Nach was da gesucht wird ist wohl in der Formulierung einer Suche  erheblich persönlich zu sehen - da mach ich mir wirklich keine Gedanken.

Bei Mengen a la Google dürfte das schon anders aussehen, da muss man sich schon Gedanken machen über die Verteilung der DBs auf diverse Server.

Re: PHPDig - Suchmaschine

Posted: Tue Jun 06, 2006 4:56 pm
by cyberman
Piratos wrote: Was man will ist dass die Leute schnell zu einem Ergebnis kommen und dieses dann angezeigt wird.
Wenn ich aber weiss, nach was am häufigsten gesucht wird, kann ich zum einen Schlussfolgerungen dahingehend ziehen, den Content anders/besser zu präsentieren, damit der User auch ohne Suche schnell die gewünschten Infos erhält. Zum anderen kann ich erkennen, welche Informationen der User auf meiner Seite erwartet.