karin: Ein Optimales Suchergebnis...

Beitrag lesen

Hallo,

Ein Optimales Suchergebnis ist das was ich gerne hätte.
Ich habe eine Daten bank u.a. mit den Tabellen stammdaten und kundendaten

gespeichert sind Firma, Straße, PLZ, Ort, Name, usw...

Es soll zwei suchfunktionen geben
|

  • match() -> ist eine einfache gleicheitsabfrage
  • calc()  -> berechnet eine fehlerquote

beide funktionen würde ich gerne diskutieren.

nochmal zum verständis warum es 2 fuktionen gibt:
Das Formular hat Eingabefelder um auf der Datenbank diese Felder abzusuchen. ZB. suche ich in dem Feld Firma also sucht das Programm mit der Funktion calc() die Datenbank nach ähnlichen klingenden Firmen ab.
Suche ich zb eine Vorwahl einer Telefonnummer soll die Funktion match() Suchergebnisse liefern die exakt sind.
Ich definierde also vorher welche felder wo und wie suchen!

match()
stelle ich mir also ganz simpel vor bzw. habe ich für mich auch schon programmiert.
man übergibt 2 werte: datenbankwert und eingabe diese werden einfach verglichen.
ist der vergleich Positiv wird eine 0 zurückgegeben
ist der vergleich Negativ wird eine 8 zurückgegeben.
Die 8 ist ein Wert, der das Suchergebniss nach unten rutschen lassen soll.

so und jetzt kommen wir zum knackpunkt - der funktion calc()!
Dieser funktion werden genau die selben werte übergeben wie der match()-Funktion. die Funktion calc() soll eine Fehlerquote errechnen um eine optimales suchergebnis zu erzielen.
Ich möchte die Funktionen
-levenshtein()
-similar_text()
-strpos()
einbauen.

Die Frage ist nur wie sieht diese Funktion aus?
strpos schaut ja zb. ob ein string im string vorhanden ist.
zb.
-> Meine Tolle Firma
->        Olle Firma
Dann soll das Suchergebnis weiter oben landen.

Die Funktion levenshtein() hätte Zb einen Wert zurück gegeben der das Suchergebnis weiter unten platziert hätte.

Ich möchte diese, und evtl auch weitere, Funktionen so miteinander verbinden, dass sie wie schon gesagt ein optimales suchergebnis erzielen.

Ich hoffe ich hab mich klar genug ausgedrückt um dieses Posting hier zu verstehen.

karin