Module Pisearch 1.60 ist da

Hilfe zu Modulen und Tags
Post Reply
Piratos

Module Pisearch 1.60 ist da

Post by Piratos »

Das ist die schnellste Version von Pisearch, die es bislang gab.

Grund dafür ist die komplette Überarbeitung der Suchroutine selbst.

Dinge welche die Datenbank belasten wie ORDER BY sind weggefallen, da eine solche Anweisung bei CMSMS dazu führt, dass z.B. Mysql in temporären Dateien sortiert.

Die Textausszüge ergeben sich in der Länge aus dem Parameter textlength plus die Summe der Länge aller akzeptierten Suchwörter + max. 10 Anschläge.

Diese Version arbeitet mit vollständigen Treffern , d.h. alle eingegebenen und akzeptierten Suchwörter müssen als Wort vorhanden sein (also UND Verknüpfung).

Wie in den letzten 1.5X versionen werden Suchworte deren Länge kleiner als 4 Anschläge unterdrückt.

Ich möchte noch darauf hinweisen, dass Pisearch im Gegensatz zum Bultin Search der CMS alle Inhalte mit Smarty parst, in denen die Smarty Delimiter zu finden sind.

Das bedeutet aber auch, dass alle Inhalte gefunden werden, die aus Modulen, Plugins oder Tags kommen, deren Inhalte nicht aus der Datenbank stammen (wie z.B. csv importe, rss usw. ).

Nach meinen Feststellungen ist Pisearch zudem z.Z. auch was die Suche betrifft deren Inhalte aus DB kommen gründlicher, da es viele Beispiele gibt, in denen das Builtin Search nichts findet, Pisearch jedoch Treffer erzielt.

Auf der anderen Seite dürfte es vielen Besuchern lieber sein, dass sie einen Textauszug erhalten, was beim Bultin nicht möglich ist.
Last edited by Piratos on Sun Sep 24, 2006 10:52 am, edited 1 time in total.
Piratos

Re: Module Pisearch 1.60 ist da

Post by Piratos »

Ich trage mich mit dem Gedanken mit der nächsten Version eine Möglichkeit einer Suche mit Soundex zu realisieren.

Allerdings habe ich da noch so meine Zweifel, da Soundex eigentlich mehr englische Texte unterstützt - siehe Beispiel:
CMSMadeSimple-> soundex =C525
CMSMadeSünde-> soundex =C525
CMSMadeSimnple-> soundex =C525
CMSMakeSimple-> soundex =C525
Piratos-> soundex =P632
Piratoss-> soundex =P632
Deutscher Bundestag-> soundex =D326
Deutscher Bundestach-> soundex =D326
Deutscher Hundetag-> soundex =D326
United States of America-> soundex =U533
United States of Amerika-> soundex =U533
Freie und Hansestadt Hamburg-> soundex =F653
Freue und Hansestadt Hamburg-> soundex =F653
Freie und Pansenstadt Hamburg-> soundex =F653
Übel-> soundex =B400
uebel-> soundex =U140
Uebel-> soundex =U140
Über-> soundex =B600
Man erhält mit Soundex eine wesentlich grössere Anzahl von Treffern und manche sind ziemlich daneben.

Die Alternative wäre die Arbeit mit der Levenshtein - Funktion
Die Levenshtein-Differenz ist definiert als die minimale Anzahl an Zeichen, die ersetzt, eingefügt oder gelöscht werden müssen um den str1 nach str2 umzusetzen.
Wird eine Auswertung z.B. bei 2 als positiv angenommen, können 2 Buchstaben differieren. Ich habe damit in den Warenwirtschaften von mir gute Erfolge erzielt.

Wie ist die Meinung ?
cyberman

Re: Module Pisearch 1.60 ist da

Post by cyberman »

Piratos wrote: Wie ist die Meinung ?
Wenn damit die Qualität der Suchergebnisse besser wird als mit der 1.60, lohnt sich die Investition auf jeden Fall.
Piratos

Re: Module Pisearch 1.60 ist da

Post by Piratos »

Die Frage für mich ist mehr soundex oder levenshtein.
cyberman

Re: Module Pisearch 1.60 ist da

Post by cyberman »

Piratos wrote: ... mit Soundex eine wesentlich grössere Anzahl ... manche sind ziemlich daneben.
... die Arbeit mit der Levenshtein - Funktion ...

Ich habe ... gute Erfolge erzielt.
Mal so betrachtet ein klares 0 : 1 für Levenshtein  :) ...
Piratos

Re: Module Pisearch 1.60 ist da

Post by Piratos »

Nun ja auch Levenshtein hat vor und Nachteile, die Anzahl der zu egalisierenden Buchstaben kann ja definiert werden und beim Standard (2) gibt es dann auch Treffer auf die man normal auch nie kommen würde.

Levenshtein und Soundex dienen nur dem Zweck auch Treffer zu erzielen, wenn man die Schreibweise nicht genau kennt (oder kann)  und haben beide den Vorteil der aber auch gleichzeitig Nachteil ist, dass Kombinationen gefunden werden, die nach S und L logisch sind, nicht aber aus der Sichtweise des Benutzers.

Also habe ich salomonisch (ich sage gerne solomanisch) beschlossen, beide Methoden einzuführen und zwar optional und damit wäre dann auch schon jegliche Diskussion darüber erledigt  - wenn nach Einführung der Option jemand darüber meckert, dann kann die Person bestimmt nicht lesen und das bedeutet - warum sucht er eigentlich ? 
Ob und welche Option dann vom Admin her tatsächlich angeboten wird, bzw. der Besucher dann nutzt ist seine Entscheidung und ich bin aussen vor.

Nicht zu verschweigen ist der Umstand, dass beide Optionen mehr Suchzeit benötigen , was aber durchaus erträglich ist.

Oder vielleicht sollte ich, wie das Builtin-Search die reine DB Zeit angeben, dann könnte Pisearch problemlos auch mit den Zeiten vom Builtin Search konkurrieren.
Piratos

Re: Module Pisearch 1.60 ist da

Post by Piratos »

Ich werde bis spätestens morgen die Version 1.7 bringen.

1. Suche wie bisher  (und Funktion alle Suchwörter müssen enthalten sein)

2. Soundex Suche (optional - alle Suchwörter müssen enthalten sein)

3. Levenshtein Suche (optional - alle Suchwörter müssen vorhanden sein).

Zu 2 und 3 ist zu bemerken, dass diese wegen ihrer Funktion die Bandbreite der Suchwörter erhöhen, da sie bei soundex entsperechend der englischen Aussprache egalisieren oder bei Levenshtein Buchstaben die zur Übereinstimmung des Suchbegriffes im vorgegebenen Umfang weglassen.

Werden mehrere Suchwörter eingegeben ist Soundex kaum zu schlagen.

Das Built In Search Modul wird auf den untersten Rang degradiert. Suche ich z.B. nach Menu manager findet Soundex 12 Stellen, Built in ganze 7 wobei die ausgrechnete Trefferquote in % die Schulnote 12 verdienen würde, wenn es sie gäbe.

Das Template wurde geändert - die Form in eine Tabelle gepackt und optionale Auswahlfehlder Standard, Soundex, Levenshtein hinzugefügt.

Der nackte Austausch des Tags in dem DIV zum Built In Search ist nicht zu empfehlen.
Post Reply

Return to “Module und Tags”