Probleme mit Fuzzy Search

Diskussionen rund um die Templates (incl. Smarty)
Antworten
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Probleme mit Fuzzy Search

Beitrag von Kopernikus »

Ich habe ein Problem mit der Fehlertolleranten Suche (Fuzzy Search).

Beispiel: Ich habe einen Produktenamen, der z.B. "Terra-C" heisst. Gebe ich im Suchfeld Terra-C ein, findet die Suche sofort den gewünschten Artikel. Gebe ich allerdings "Terra C" ein, ist die Suche offenbar bereits überfordert und findet diesen Artikel überhaupt nicht mehr.

Gibt es eine Möglichkeit dieses Problem zu lösen?
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme mit Fuzzy Search

Beitrag von Kopernikus »

Hoopala! Jetzt bin ich per Zufall über einen Bug gestolpert. Die Frage ist, ob das nur bei mir so ist?

Problem machen offenbar einige Umlaute. Wenn ich z.B. "Krähe" eingebe, dann regnet es die bekannten preg_split Fehler (php 5.3 Problem?)

Diesen Fehler könnt Ihr hier sehen:

http://www.engelis-naturshop.ch/advance ... Kr%C3%A4he

Wäre super, wenn Ihr mir hierfür einen Fix hättet :)

EDIT:

Müsste eventuell hier (/includes / classes / fuzzy_search.php) etwas ergänzt werden? :roll:

Code: Alles auswählen

$split_content = preg_split('|'.str_replace('|', '\\|', SEARCH_SPLIT_PRODUCT_CHARS).'|', $word_string);
yogi
Administrator
Beiträge: 292
Registriert: Do 6. Mai 2010, 14:16
Shop Version: die aktuelle
Wohnort: Köln
Kontaktdaten:

Re: Probleme mit Fuzzy Search

Beitrag von yogi »

Moin,

also bei mir in der Entwicklungsumgebung kann ich den Fehler so nicht reproduzieren. Und auch im unserem Webs Demo Shop kann ich den Fehler nicht reproduzieren.
http://demo.webs.de/advanced_search_res ... Kr%C3%A4he

Was ist denn bei dir im Backend bei Konfiguration->Such Optionen->"Fuzzy-Search: Trennzeichen zur Teilung" angegeben? Ich vermute mal da fehlt ein "]" oder so....
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme mit Fuzzy Search

Beitrag von Kopernikus »

Hi,

Du hast recht, ich hatte (weil ich wegen dem Bindestrich verschiedene Einstellungen testete), nur noch die leeren Klamern gesetzt [ ]
Mit der Einstellung [ ,.] klappts wieder.

Nur eben, wenn ich ein Wort welches im Titel Bindestriche enthält, ohne diese suche, dann findet der nichts die Bohne

Beispiel in meinem Shop:

"Terra-C" kann ich so geschrieben ohne Probleme finden. Gebe ich aber "Terra c" in das Suchfeld (was die meisten meiner Kunden offenbar tun), dann findet die Suche nichts. Hättest Du da eine Idee was ich ändern müsste?
yogi
Administrator
Beiträge: 292
Registriert: Do 6. Mai 2010, 14:16
Shop Version: die aktuelle
Wohnort: Köln
Kontaktdaten:

Re: Probleme mit Fuzzy Search

Beitrag von yogi »

Hi,

wie hast Du denn die Suche im Backend konfiguriert?
Levinstein: ? %
Similar: ? %
Metaphone: ? %

Öffne mal die includes/classes/fuzzy_search.php und suche nach

Code: Alles auswählen

    $keyword_lev_sim = xtc_db_input($keywords);
und mache daraus mal

Code: Alles auswählen

    $keyword_lev_sim = strtolower(xtc_db_input($keywords));
Im weiteren Verlauf der Klasse werden die Namensteile ebenfalls auf Kleinbuchstaben runtergebrochen, dann sollte man das mit dem Vergleichswort ebenfalls machen.

similar_text("Terra C", "terra-c") ergibt 57.14, aber
similar_text("terra c", "terra-c") ergibt 85.71
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme mit Fuzzy Search

Beitrag von Kopernikus »

Hallo Jörg

Herzlichen Dank für den schnellen Lösungsansatz. Leider funktioniert es aber auch nach der von Dir empfohlenen Änderungen nachwievor nicht. Meine Einstellungen habe ich wie folgt erfasst:

Die Suche wird überall einbezogen (Attribute, Beschreibung etc.)
Fuzzy-Search: Übereinstimmung in % 70
Fuzzy-Search: LEVENSHTEIN-Faktor in % 40
Fuzzy-Search: SIMILAR-TEXT-Faktor in % 40
Fuzzy-Search: METAPHONE-Faktor in % 20
Produktenamen teilen: true
Trennzeichen zur Teilung: [ ,.]
yogi
Administrator
Beiträge: 292
Registriert: Do 6. Mai 2010, 14:16
Shop Version: die aktuelle
Wohnort: Köln
Kontaktdaten:

Re: Probleme mit Fuzzy Search

Beitrag von yogi »

setze mal testweise nur similar auf 100%, mit der "strtolower" methode sollte es dann funktionieren.

Aber es sollte eigentlich auch schon vorher geklappt haben, denn bei "Terra C" und "terra-c" ergibt sich folgendes:
Levenshtein: 70.00
Similar: 57.14
methaphone: 100.00

bei der Gewichtung von 40/40/20 sind das 70.86

Müßte ich mir am besten mal LIVE anschauen...
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme mit Fuzzy Search

Beitrag von Kopernikus »

Nö geht leider auch nicht. Ich meld mich dann mal bei Dir über Skype
yogi
Administrator
Beiträge: 292
Registriert: Do 6. Mai 2010, 14:16
Shop Version: die aktuelle
Wohnort: Köln
Kontaktdaten:

Re: Probleme mit Fuzzy Search

Beitrag von yogi »

So,

nach einigen Analysen wurde ein Fehler in der Suchlogik gefunden und im BT #500: Suche mit meheren Begriffen funktioniert nicht und behoben.
Antworten