Suche - Ergebnissortierung - Relevanz

Hallo zusammen, ich hoffe, dass es eine simple Einstellung im Backend ist… Wenn man einen Suchstring mit einem Leerzeichen eingibt, wird nach beiden Wörtern gesucht. Soweit ist das in Ordnung. Nun möchte ich aber, dass die Treffer, die den gesamten Suchstring im Titel, dann Beschreibung, etc. enthalten ganz oben stehen und dann erst die Teiltreffer folgen. Ist das möglich? Und wenn ja, wie? Folgende Einstellungen sind getätigt: Maximale Distanz für unscharfe Suche in Prozent: 85 Faktor für genaue Treffer: 500 Faktor für unscharfe Treffer: 5 Maximal-Distanz für Teilnamen in Prozent: 85 Faktor für Teiltreffer: 50 Artikelname hat eine Relevanz von 400 Artikelkurzbeschreibung von 350 und die Artikelbeschreibung von 250 Mit diesen Einstellungen kommt im Shop der Teilstring vor dem gesamten Suchstring. Bzw. ich glaube, dass nur Teilstrings in der Sortierung berücksichtigt werden. Vielen Dank im Voraus! Grüße Mathias

*push*

Hallo, hast du mal testweise die Artikrlbeschreibungen weit zurückgestuft? Die sind von den Werten sehr hoch und gerade die Artikellangbeschreibung kann aufgrund der großen Texte sehr stark negativen Einfluss haben. Ich kenne die Texte in dem Shop nicht, aber man sollte das Feld nur wirklich in besonderen fällen durchsuchen, wo es Sinn macht. Sonst, wie geschrieben, hat das meistens negative Auswirkungen. Besser ist meistens nur Kurzbeschreibung oder ein Freitextfeld zu durchsuchen, wo jeweils die relevanten Begriffe vorkommen, wo man nach suchen könnte. Pauschal ist das so also nicht zu beantworten, welche Werte verändert werden sollten. Das ist komplett vom Sortiment und dem Content abhängig. Ich würde also Teilstrecken und genaue Treffer nochmal höher setzen. Da muss man die Ergebnisse prüfen und sich jeweils rantasten Sebastian

Danke für deine Antwort! Es handelt sich um einen Musiknotenshop. Da ist es schon blöd, wenn man nur nach einzelnen Wörtern suchen kann und nicht z.B. nach einem Interpreten (2 Wörter). Im Moment werden dadurch völlig falsche Ergebnisse geliefert. Die Beschreibung ist leider auch sehr wichtig, da dort alle Titel mit Interpreten eines Heftes aufgelistet sind. Deshalb ist hier der Wert hoch gesetzt. D.h. es wird im Endeffekt nur nach Teilstrings gesucht und die Ergebnisse (Array) sortiert. Richtig? Dann könnte man nämlich die Ergebnisse evtl. nachsortieren, wenn es über die Einstellungen nicht funktioniert. Grüße Mathias

Hallo Mathias, das Ergebnis sollte man auch so bereits standardmäßig gut hinbekommen. Ich denke das halt beim artikrlnummern die Gewichtung einfach höher muss. Durch das ändern einzelner Parameter sollte man das gewünschte Ergebnis schon erreichen können. Und auch wenn man zwei Wörter eingibt. Aktuell sind halt due Konfigurationen so, dass auch anderer Artikrl ein so hohes Acoring bekommen, dass auf den ersten Blick nicht passende Artikel weit vorne stehen Sebastian

Hallo Sebastian, danke für deine Antwort! Wir werden nochmal an den Einstellungen Änderungen vornehmen und hoffen es noch hinzubekommen. Andernfalls ist der Kunde auch bereit die Datenbankabfrage abändern zu lassen und per „UND“-Verknüpfung statt einer „ODER“-Verknüpfung die Suchtreffer zu erlangen. Da spricht meiner Meinung nach hauptsächlich dagegen, dass man dann auch keine Suchtreffer bekommen könnte. Das würde der Kunde aber eher akzeptieren als falsche Treffer angezeigt zu bekommen. Im Moment ist es auch so, dass man bei bspw. „George Benson“ weniger Treffer bekommt als bei „George Benson Gitarre“. Es müsste aber anders herum sein. Da es eine weitere Einschränkung ist. Wie siehst du das? Grüße Mathias

Update: Ich habe mir den Quellcode der Suche nochmal genauer angeschaut. Es ist definitiv so: Zuerst wird der gesamte Suchbegriff in einzelne Wörter getrennt. Dann wird mit den Sucheinstellungen im Backend nach jedem einzelnen Wort aus dem Suchbegriff gesucht. D.h. je mehr Wörter man eingibt, desto mehr Suchtreffer erhält man. Man kann nicht die Suchtreffer mit mehr Wörtern einschränken. Bspw. erhält man beim Musiknotenshop mit der Sucheingabe “Mozart” weniger Treffer als mit “Mozart Klavier”. Eigentlich sollte damit aber die Suche eingeschränkt werden. D.h. ich möchte keine Notenhefte für bspw. Flöte angezeigt bekommen. Dann habe ich noch konkret ein Problem: Ich gebe “Hits” im Suchfeld ein. In meinem Artikelname steht allerdings “Jazz-Hits”. Kann man die Sucheinstellungen so verändern, dass “Jazz-Hits” mit “Hits” auch erkannt wird? Und wenn ja, wie? Grüße Mathias

1 „Gefällt mir“

Ich kann mbdus nur voll und ganz unterstützen. Die Kunden sind die UND-Verknüpfung von Google gewöhnt und das Problem mit der aktuell nicht möglichen Sucheingrenzung ist in meinen Augen auch sehr unschön. Im shopware-Ticketsystem habe ich noch keinen entsprechenden Feature-Request gefunden, habe ich etwas übersehen? Sonst würde ich einfach mal ein Ticket zur Thematik anlegen, da die Problematik meiner Meinung nach ein erhebliches Usabilityproblem ist. Gruß Mario

Hi, dann macht dafür bitte ein Ticket auf. Bisher gab es in diesem Bereich keinerlei Änderungswünsche und von daher liegt auch kein Ticket vor. Dann können wir uns das noch einmal im Detail ansehen Sebastian

1 „Gefällt mir“

Ticket ist erstellt: http://jira.shopware.de/?ticket=SW-8989 Wenn die Thematik für jemanden von den Mitlesenden ebenfalls wichtig ist, bitte ich um ein “Vote Up” im Ticketsystem von shopware unter obigen Link. Umso mehr Votes das Ticket erhält umso relevanter dürfte es für shopware sein sich die Thematik anzusehen. Danke schonmal vorab! @Sebastian: Jira hat beim Erstellen von Tickets auf kleineren Displays (bei mir aktuell 900 Pixel Höhe auf dem Notebook) ein Problem. Der Button zum Absenden des Tickets verschwindet unterhalb des Bildschirms und ist auch nicht per Scrollbar oder ähnlichem zu erreichen Gruß Mario

Hallo, ich habe mal die Suche in ein Plugin ausgelagert… Das Ergebnis kann man in meinem Demoshop sich anschauen (Backend-Zugangsdaten: B:demo P:demo). Dort wird nach der Datenbankabfrage mit den Backend-Parametern das Ergebnis per “UND” verknüpft. 3 Probleme habe ich damit noch: [list] [*] IMHO werden die Backend-Parameter überhaupt nicht verwendet. Kann es sein, dass die Parameter aus dem Tab “Einstellungen” nur für das Plugin “Intelligente Suche” funktionieren? Die Parameter aus dem Tab “Relevanz” finde ich in der Datenbankabfrage wieder. Kann mir jemand zwei unterschiedliche Konfigurationen mit unterschiedlichen Suchergebnissen nennen?[/*] [*] Was passiert bei keinen Treffern? Bei Amazon wird dann nichts angezeigt. Das ist jetzt bei meinem Plugin auch so. Alternativ werden Suchlinks zu den einzelnen Wörtern mit Treffern angezeigt. Das finde ich Suboptimal. [/*] [*] Die Priorisierung habe ich versucht zu berücksichtigen. Ich hätte gerne Suchtreffer mit Wörtern im Artikelnamen vor Suchtreffern in der Beschreibung und dann den Rest.[/*][/list] Bei der Suche könnte/müsste man ganz schön nachbessern. Grüße Mathias

Nachtrag: Hier der Link zum Plugin http://store.shopware.de/Shopsuche-per-UND-Verknuepfung-der-Suchergebnisse_detail_1256.html

Ich habe das Plugin nochmal erweitert. Jetzt kann man: [list] [*]Die Artikelattribute mit in die Suche einbeziehen -> Das muss man aber in den Grundeinstellungen einstellen.[/*] [*]Der Suchindex wird neu aufgebaut bzw. die Shopware-Funktionen dazu überschrieben. [/*] [*] fehlertollerant suchen (Dazu verwende ich Double Metaphone, Levenshtein, Similar Text und eine Shopware-Datenbanktabelle)[/*][/list]