Suchfeld reihenfolge beeinflussen

Hallo,

kennt jemand eine Möglichkeit, wie die Auflistung der Suchergebnisse manipuliert werden kann? Bzw. wie ist denn die Standard-Reihenfolge.

Das Problem, welches ich lösen möchte ist, dass zuerst die Ergebnisse angezeigt werden sollen, wo der Suchbegriff im Titel vorkommt und danach erst die Ergebnisse, wo der Suchbegriff an einer anderen Stelle vorkommt.

Das ganze soll auch dann funktionieren, wenn der Benutzer keine Sortierauswahl getroffen hat (also: “bitte wählen”). Durchsucht werden:

oxtitle
oxshortdesc
oxsearchkeys
oxartnum
oxtags
oxlongdesc

Danke
aerodrome

Kennt vielleicht jemand ein Modul für die Suche, welches die Möglichkeiten bietet?
Oder ein Modul für die Suche, welches empfehlenswert ist?

Gruß aerodrome

Hi aerodrome,

ich fürchte, dass wird so kaum sinnvoll machbar sein, d.h. es wäre unverhältnismäßiger Aufwand und würde dann zu Lasten der Performance gehen und ein Suchverhalten bieten, welches ich als Kunde nicht erwarte. Ich kann mir auch keinen Fall vorstellen, wo es mir einen entscheidenen Vorteil brächte, solch eine Suchsortierung zu haben(?).

Außerdem gibt es ja die Möglichkeit, in den Ergebnislisten manuell zu sortieren, was Deinen Ansatz dann wieder zunichte machen würde. Ich glaube also, dass es den Kunden sogar eher verwirren könnte, und würde es persönlich so nicht umsetzen.

Sinnvoller könnte es evtl. sein, eine Art Prioritätsattribut für Artikel einzuführen, welches dann der Standardsortierung dient, solange keine andere Sortierung vom Kunden gewählt wird. Macht aber Arbeit, dass alles “doppelt” zu pflegen, und man sollte dem Kunden auch irgendwie signalisieren, wonach nun genau sortiert wird. Ohne weitere Infos sieht das dann nämlich eher nach Zufall als gewollt aus… :wink:

Denkbar wäre auch, die Suche um ein Auswahlfeld zu ergänzen, wonach genau gesucht werden soll (z.b. nur Titel), aber auch das dürfte den Kunden nur bedingt helfen.

Das Problem ist halt, dass die Suche über eine einzige SQL-Query läuft, und dort steht dann z.b.:

SELECT ... WHERE ... AND ( oxv_oxarticles_de.oxtitle like '%kite%' or oxv_oxarticles_de.oxshortdesc like '%kite%' or oxv_oxarticles_de.oxsearchkeys like '%kite%' or oxv_oxarticles_de.oxartnum like '%kite%' or oxv_oxartextends_de.oxtags like '%kite%' )

Für Deine Lösung müsste man nun für JEDES “like” eine eigene Suche starten und am Ende alles wieder zusammenfügen, was recht aufwändig in der Umsetzung wäre, gerade im Verhältnis zum fraglichen Nutzen.

Gruß mm

Hmm, ich stimme dem Mitmacher voll und ganz nicht zu :wink:
Ich finde dies sehr wohl sinnvoll eine solche “Sortierung” anzustreben. Ich würde jetzt nicht unbedingt nur nach Titel gehen. Wenn du Google benutzt würdest du an erster Stelle lieber eine Seite haben die Irgendwo ganz unten im Text mal Oxid stehen hat? oder lieber die die im Titel oder den Überschriften Oxid stehen hat, wenn du nach Oxid suchst?
Ich würde es aber nicht Sortierung nach Titel nennen sondern eher nach Relevanz und bestimmten Attributen einen Faktor mitgeben: Überschrift x2 Kurzbeschreibung x1,5 und Langbeschreibung x1 oder ähnliches.
Weiteres Beispiel: Suche nach: “Ball” In der Langbeschreibung steht irgendwo unten: “Mit diesem Produkt bleiben Sie immer am Ball.” Das Produkt heißt Beispielsweise Superhandy. Im Shop gibt es dann aber ein weiteres Produkt das nennt sich Fußball. Welches würdest du lieber priorisiert oben haben?

Das Argument mit der Leistung lasse ich auch nicht gelten. Wenn es wichtig ist dann kann man da skalieren, Google schafft es ja auch. Und das viel komplexer und in einer viel größeren Datenbasis als in einem Onlineshop.

Zum Threadstarter: eine Kurze Suche im Exchange hat mir schon ein paar Module ausgespuckt. die unter anderem sowas versprechen. Schon mal reingeschaut ? http://www.oxid-esales.com/de/exchange/eshop/category/Search

Grüße

Rafael

Zuerst mal Danke für eure Antworten :slight_smile:

Die Module im Exchange habe ich mir angeschaut. Da gibt es einige “sehr mächtige” (ähhhm und sehr teure) Such-Erweiterungen als Module. Doch die sind für mein Problem eher übertrieben.

Mir würde ja schon reichen (das war auch gleich mal mein erster Versuch), wenn man die Gewichtung im Backend über Stammdaten->Grundeinstellung->Einstellungen->Suche (wo ich die Datenbankfelder angebe) “sortieren” könnte, dann hätte man auf einfache weise eine Gewichtung.
Die Reihenfolge der Datenbankfelder entspricht der Reihenfolge der Anzeige (das wäre super!)

oxartnum (Wenn Treffer dann ganz Oben. usw…)
oxtitle
oxsearchkeys
oxtags
oxshortdesc
oxlongdesc

Hat da einer vielleicht eine Idee?

Gruß aerodrome

@Rafael:
Okay, danke, das waren die Hinweise, die ich brauchte, um es besser nachvollziehen zu können (hatte wohl eine kleine Denkblockade)! Klar hast Du Recht, der “Fußball” wäre wohl interessanter… :o

@aerodrome:
Die Idee, die Reihenfolge der Admin-Felder dafür zu nutzen ist gut und ich habe es mir gerade mal ausführlich angeschaut. Wahrscheinlich ist es doch gar nicht so schwierig umzubauen (ich habe zumindest eine gute Idee), allerdings gibt es einen satten Haken:
Das Ganze kann leider unmöglich funktionieren, wenn man im Admin die UND-Suche (statt ODER) aktiviert. Und genau diese UND-Suche halte ich persönlich für sinnvoller in einem Shop. Man erwartet doch bei exakteren Eingaben meistens auch präzisere Ergebnisse. Also dreht man sich da etwas Kreis: Entweder UND oder ODER (+ sort)… :smiley:

Wie gesagt, müsste man ja nach allen (admin-)Suchfeldern gesondert suchen. Und wenn Du mit UND-Suche nach z.b. “Handy” und “Kabel” suchst, würde im Falle des Feldes “Titel” ja geprüft, ob beide Wörter dort vorkommen. Wenn aber “Kabel” nur in der Beschreibung vorkommt, könnte der Artikle nicht gefunden werden, was ja falsch ist!

Hm, andere Idee:
Am besten belässt man die DB-Queries original und sortiert die Ergebnisliste per PHP, falls KEINE manuelle Sortierung vom Kunden gewählt ist. Sollte auch irgendwie hinhauen…

Wieder nicht ganz korrekt :wink:

Korrekt ist, dass eine Absolute-Und-Suche in dem Fall wirklich n bissel doof ist.
Deine persönliche Meinung respektierend widerspreche ich aber der Aussage, dass die Und-Suche in jedem Fall zu präferieren ist. Es kommt nämlich darauf an wer deine Kundschaft ist und was für Produkte du anbietest.
Wieder ein paar Beispiele: Du hast einen Computer Spezialhandel. Einzelteile. Also wenig womit ein großteil der DAUs etwas anfangen kann. Dein Klientel kommt also vornehmlich aus der “Fachecke”. Diese werden öfter nach speziellen Teilen suchen: “Intel PIII 533MHz” Da wäre eineUnd-Suche natürlich toll die wissen ja was sie suchen, oder? Nun wenn man genauer hinschaut ist aber selbst das nicht gegeben: “Intel Pentium 3 533 MHz” Der Shop Besitzer könnte nun auch wie dargestellt sein Produkt benannt haben, Schwupps führt die Und-Suche zu 0 Ergebnissen.
Viel spannender wird es aber bei Suchvorgängen von Otto Normal. Den kann man nämlich nicht so leicht beschreiben. Der eine meint nach “Windel” suchen zu müssen der nächste nimmt den Plural “Windeln” der vierte sagt “Windeln bis 3 Jahre” und der dritte sucht nach “Pampers”(meint aber Windeln).
Eine gute Suche bereit zu stellen ist also nicht ganz so trivial wie hier dargestellt und deshalb sind die Preise je nach güte auch gerechtfertigt. eine Oder-Suche ist in den meisten aller Fälle aber eher das Mittel der Wahl. Und Phonetisch noch besser, Mit denkend am aller besten :wink:

Grüße

Rafael

[QUOTE=aerodrome24;76221]Zuerst mal Danke für eure Antworten :slight_smile:

Die Module im Exchange habe ich mir angeschaut. Da gibt es einige “sehr mächtige” (ähhhm und sehr teure) Such-Erweiterungen als Module. Doch die sind für mein Problem eher übertrieben.

Mir würde ja schon reichen (das war auch gleich mal mein erster Versuch), wenn man die Gewichtung im Backend über Stammdaten->Grundeinstellung->Einstellungen->Suche (wo ich die Datenbankfelder angebe) “sortieren” könnte, dann hätte man auf einfache weise eine Gewichtung.
Die Reihenfolge der Datenbankfelder entspricht der Reihenfolge der Anzeige (das wäre super!)

oxartnum (Wenn Treffer dann ganz Oben. usw…)
oxtitle
oxsearchkeys
oxtags
oxshortdesc
oxlongdesc

Hat da einer vielleicht eine Idee?

Gruß aerodrome[/QUOTE]

Hallo Aerodrome,

ich weiß ja nicht, ob Du die “erweiterte Suche” schon als zu mächtig und teuer abgeschrieben hast. Die kann aber z.B. die Sortierung nach Fundstelle(n) und nach Artikelpriorität. Und natürlich hauptsächlich einige weitere Sachen, die eine Suche eigentlich zwingend können muss (Fehlertoleranz, Filter etc.). Bei Interesse melde Dich doch einfach mal bei uns.

Hallo Daniel,

euer Modul ist wirklich “seeehr cool”. Leider sprechen zwei Dinge dagegen:

1.) Wir haben die CE im Einsatz
2.) Unser Budget

Das soll auf gar keinen Fall heißen, dass das zu viel Geld für das Modul ist, nur leider haben wir ein wirklich sehr kleines Budget für diesen Shop und versuchen deshalb auch so viel wie irgend möglich selbst zu realisieren.
Falls unser Shopsystem gut funktioniert und die entsprechenden Umsätze erwirtschaftet werden, dann sieht das (hoffentlich) anders aus.

Such doch mal nach “Autosuggest”. Da habe ich eine kleine Suche bereitgestellt, die durchaus anpassungsfähig ist, z.B. mit:

SELECT oxid, oxtitle, oxshortdesc, 1 as sort
FROM  oxarticles WHERE oxtitle LIKE '%suchbegriff%'
UNION
SELECT oxid, oxtitle, oxshortdesc, 2 as sort
FROM  oxarticles WHERE oxshortdesc LIKE '%suchbegriff%'
ORDER BY 
    sort, 
    oxtitle DESC
LIMIT 10
 

@ rubbercut

Such doch mal nach “Autosuggest”.

ähhmm - wo suche ich danach?

Ansonsten hört sich das sehr gut an :slight_smile:

many thx

http://www.oxid-esales.com/forum/showthread.php?t=10516&highlight=Autosuggest

[QUOTE=aerodrome24;76327]
ähhmm - wo suche ich danach?
[/QUOTE]

rechts oben im Header ist das Suchfeld - die Ergebnisse dann einschränken auf Forum (oder Products, also Exchange, oder Manual…etc)

Boah wie peinlich - [B]sorry[/B]

Auf die Idee das [B]Forum [/B]zu durchsuchen hätte ich in der Tat auch selber kommen können :eek:

:confused: War irgendwie gedanklich gerade mit dem Server verbunden :confused:

THX habe es gefunden

OK, das war ja schon mal cool und funktioniert auch “fast”

Version 1.4 haben wir jetzt getestet.

Wir bekommen aber nicht hin, dass die Bilder - Icons angezeigt werden.

Er versucht das Bild zu holen von:
img src="’.$sShopURL.‘out/pictures/1/’ . $picname . '_ico.jpg"

<img src=“http://www.aerodrome24.de/out/pictures/1/panzer_ico.jpg” alt=“Panzer - schön und bunt” width=“80” height=“80”>

Aber da stimmt doch der Pfad nicht - oder? Wie muss der richtig heißen? Ich blicke das nicht, wo welche Bilder wann hinterlegt werden. Gibt es dafür eine Referenz?

out/pictures/1/ gibt es bei uns nicht ?

hier ist die Pfadstruktur, sowohl alt, als auch neu ab 4.5

Frank war fleissig:

http://www.oxid-esales.com/de/exchange/extensions/search-priority

Super - Respekt!

Das sollte ja wohl im Budget drin sein :slight_smile: und danke für den Link Hebsacker

Schönes Wochenende

[QUOTE=Hebsacker;76404]Frank war fleissig:

http://www.oxid-esales.com/de/exchange/extensions/search-priority[/QUOTE]

Zufälle gibt’s :cool: Mensch, mit ein paar Handgriffen kannst Du Dir die Suche auf Deine Bedürfnisse anpassen. Kauft sowas wirklich jemand? Dann mach ich auch aus allem ein Modul.

Irgendwie erschließt sich mir der Sinn deines Postings nicht. Natürlich habe ich das Modul wegen diesem Thread gemacht, weil mir das eine sinnvolle Modifikation zu sein scheint, die auch andere brauchen können. Da der TE ja explizit gesagt hat dass ihm die Module im Exchange zu oversized für seine Anforderungen sind biete ich ihm eine kleine Lösung an.

Und von wegen “nur ein paar Handgriffe”: das lässt sich immer leicht sagen, ohne selber eine funktionierende Lösung anzubieten. Selbst wenn die Lösung tatsächlich nur ein paar Handgriffe wären (was in dem Fall nicht zutrifft) muss man das dann noch für die verschiedenen Versionen testen, dabei gefundene Bugs beseitigen, eine Installationsanleitung schreiben etc. Also anstatt hier rumzumeckern bring doch lieber deine eigenen Module ins Exchange, da kaufe ich dann vielleicht auch was.