Verbesserung, Optimierung und Anpassung der bloginternen Suche

**Relaunch von WPDE.org**

WPDE.org wurde kürzlich unter neuer Führung übernommen und technisch vollständig modernisiert.

Neuer Betreiber ist:
**Maximilian Rupp, Tannenweg 24, 66629 Freisen**

Im Zuge der Übernahme wurde das Forum auf eine aktuelle technische Basis gestellt und wird nun aktiv weiterentwickelt.

Das Thema Datenschutz wird dabei selbstverständlich berücksichtigt.
Sollte jemand sein Benutzerkonto nicht weiterführen wollen, kann dieses jederzeit bequem über die Kontoeinstellungen gelöscht werden.

Bei Fragen oder Anliegen könnt ihr euch jederzeit gerne melden.
Suche aktuell noch 2-3 Moderatoren im Team, gerne per DM an @Maximilian Rupp melden!
  • Hallo liebe Wordpressler.
    Da mir in den öffentlichen Foren niemand helfen kann, versuche ich nun hier mein Problem zu schildern, bzw. suche ich jemanden der meine blogeigene Suche wie folgt beschrieben optimieren kann.

    - Die Suchergebnisse sollen nach den Suchworten geordnet sein.
    Beispiel: Die User suchen nach "schuhe, billig". Während die normale Wordpress-Suche nun alle Ergebnisse wahllos ausspuckt die entweder 1 oder beide Suchworte(tags, kategorien) beinhalten, kann keine optimale Suche stattfinden, da die Menschen ja billige Schuhe suchen und nicht alles was billig ist und alles was schuhe hat.
    Mein Wunsch ist nun eine Unterteilung der Suchergebnisse nach Suchworten.
    So sollen ganz oben alle Suchergebnisse stehen die beide Suchworte beinhalten, weiter unten die, die jeweils nur ein suchwort beinhalten.

    Ich hoffe es ist verständlich.
    Dies soll natürlich nicht auf 2 suchworte beschränkt sein sondern auch mit mehreren suchworten klappen. Z.b. sucht ein user nach "Billig, grün, nase, puder" soll er ganz oben die einträge mit allen suchwörtern, dann die mit 3, dann die mit 2 usw.

    Ich hoffe es ist verständlich. Der User soll einfach ganz klar sehen können, auf welche Artikel/Seiten seine suchbegriffe ganz oder teilweise zutreffen.

    Bei weiteren Fragen gerne eine PM

  • Mir scheint, da will jemand die eierlegendewollmilchsauoderwiedieauchrichtigheissenmag neu erfinden. Mir geht der praktische Nutzen der Auflistung aller möglichen Permutationen von sagen wir 4 Suchkriterien ab. Um es mal an einem Beispiel zu verdeutlichen:

    Wenn es mir auf die Suchbegriffe "billig, grün, nase, puder" ankommt, dann will ich alle vier haben, wollte ich auch cremen zusätzlich zu puder, würde ich zwei Suchläufe machen, oder den fünften Suchbegriff auch einschliessen; und wenn es mir egal wäre, ob puder oder creme, dann würde ich den Begriff ganz weglassen.

    Konkret habe ich zwar nicht ausgetestet, was Dein Wunsch für die performance bedeutet, könnte mir aber vorstellen, dass es an die Ressourcen geht.

    Ansonsten ist die Suchfunktion recht gut im Codex beschrieben - hast Du schon mal reingeschaut?

    LG Domi

  • google custom search hatte ich schon drauf und ich bin irgendwie nicht begeistert.

    im Grunde möchte ich doch einfach nur, dass wen jemand 4 begriffe sucht, die einträge auf jeden fall primär bekommt die alle 4 begriffe beinhalten und nicht einfach alle einträge die einen begriff beinhalten.
    andersherum möchte ich aber auch nicht, dass wenn jemand 4 begriffe sucht, dass er leer ausgeht und z.b. etwas vorgeschlagen bekommt, dass 3 dieser begriffe beinhaltet.


    geht das nicht irgendwie? ich hab zwar keine ahnung von scripten, coden und programmieren..aber ich denke dass muss doch machbar sein ohne sämtliche ressourcen aufzufressen

  • Es tut mir leid, aber das Thema ist nicht, ob Du von irgendwas eine "Ahnung hast", sondern ob Du gewillt bist, Dich mit der Materie auseinanderzusetzen. Darauf zielten meine obigen Bemerkungen. Denn auch nach mehrmaligem Lesen scheint mir Dein Konzept reichlich konfus (ob es an meinem Empfänger liegt, und gar nicht an Deinem Sender, ist grundsätzlich auch eine Möglichkeit). Machbar ist vieles, ob es auch sinnvoll ist, das ist und bleibt *für mich* meine Frage.

    LG Domi

  • Denn auch nach mehrmaligem Lesen scheint mir Dein Konzept reichlich konfus (ob es an meinem Empfänger liegt, und gar nicht an Deinem Sender, ist grundsätzlich auch eine Möglichkeit). Machbar ist vieles, ob es auch sinnvoll ist, das ist und bleibt *für mich* meine Frage.

    Nun ich finde es extremst sinnvoll. Sei doch mal ein suchender User. Du suchst einen Shop, einen Shop der billige Schuhe verkauft. Jetzt tippst du "schuhe" und "billig" ein. Die derzeitige Suche spuckt alles aus was es in irgendeiner form damit verbinden kann, sprich billige elektroläden oder schuhläden die ganz und garnicht billig sind.
    Wie bekomme ich es hin, dass nur Läden angezeigt werden, die ALLE tags beinhalten, damit der User eben genau das bekommt was er will.

    Und nein ich will mich da eben nicht mehr reinfuchsen. Ich hab von coden usw. keine ahnung und bevor ich da rumfummel und am Ende nichts mehr geht, will ich doch da lieber einen profi ranlassen um am ende wirklich ein funktionierendes produkt vor mir zu haben

    Edited once, last by walinjo (July 8, 2010 at 3:43 PM).

  • Ich bin auch immer dabei meine Suchfunktion zu verbessern und ich halte diese Sache durchaus für gut. Mit ner eigenen Funktion liese sich das sicher auch recht schnell umsetzen, man muss eben PHP bzw. MySQL beherschen. Ich weiß jetzt leider nicht wie das genau aussehen muss um die Datenbank dementsprechend zu "befragen". Sollte eigentlich möglich sein das schon direkt so abzufragen?!

  • Nochmal: mir geht es gar nicht darum, dass Du die Geschichte selber codest, ich meine, Du hast Dein Anliegen nicht klar formuliert. Bei den billigen Schuhen ist es mir klar, aber wozu soll der User überhaupt bei dem billigen grünen Puder für die Nase die Treffer mit nur 3 und 2 und 1 dieser vier Begriffe angezeigt bekommen. Im Grunde sucht er/sie/es das Produkt "billiges-grünes-puder-für-die-nase", blosss er kennt den Hersteller nicht.
    So, und damit das Ganze einen Bezug zu WP bekommt: damit der User überhaupt weiss, wonach es sich lohnt zu suchen bzw. welche Tags es gibt, kann man zB eine Tag-Cloud generieren, oder eine Liste, die alle Tags aufführt (womit wir bei dem Vorschlag von Bambaataa wären, nämlich einer SELECT-Abfrage).

    Aber: das sind meine Gedanken dazu, welche *mir* auch glasklar sind, weil ich sie nur durch *meine* Wahrnehmungsfilter jage, und darum ist auch Dir das eigene Anliegen auch klar, und mir nicht.

    Und ich will Dich nicht plagen, oder blossstellen - nein, ich finde das Projekt spannend, und versuche mit Dir und den anderen Beitragendedn das konzeptionell zu fassen.

    LG Domi

  • Domino5702

    Jetzt komm was ist so schwer. Du suchst nach "grünen Schuhen". Was willst Du dann für Ergebnisse? Rote Schuhe? Braune Schuhe oder eben lieber doch grüne Schuhe? Jetzt klar? Deshalb sollten Suchergebnisse wo beide gesuchten Wörter (in meinem Beispiel grüne UND Schuhe) enthalten vor denen kommen die nur eins der Worte enthalten.

  • Mal ne andere Frage..
    wird das jetzt hier diskutiert oder macht sich da jetzt auch jemand produktiv gedanken in dem er anfängt zu coden. Ich hab nicht umsonst in der Jobbörse gepostet.^^

  • ok cool
    wäre einfach super, wenn wordpress einfach von haus aus ne unglaublich starke suche hätte, bzw. es einen schönen rundum-guide gäbe um sie unglaublich "aufzupimpen"

  • Naja. Solche "Guides" gibt es schon. zB für Highlighting. Finde ich ( Domi) auch weit sinnvoller, als da eine "tausend Optionen" Box anzuhängen. Am sinnvollsten finde ich aber nach wie vor folgenden Ansatz:

    a) Tags, Categories, Taxonomies => Checkboxen (default: checked)
    b) Ajax basierendes filtern der Gesamtsuchergebnisse der aktuellen Suchergebnisse

    Hatte da auch schon einmal mit jemandem diskutieren angefangen, aber leider ist mein Projekt geplatzt und ich hab mich nicht weiter damit beschäftigt.

  • ... als da eine "tausend Optionen" Box anzuhängen...

    Wer redet davon? Die Suche soll einfach von Haus aus bessere Ergebnisse liefern und nicht erst wenn ich nach "grünen Schuhen" such 20 Ergebnisse mit "roten Schuhen" weil da eben NUR das Wort Schuhe vorkommt und an 21. Stelle dann das Ergebniss mit "grünen Schuhen" wo richtigerweise beide Suchworte vorkommen. Sondern genau andersrum. Da brauch ich keine "tausend Optionen" Box für.

  • Naja... Sollte aber jemand einmal nach "Hotel Wien Währing Simmering" suchen, wird er sich ein wenig ärgern. Weil "Währing" und "Simmering" zwei komplett verschiedene Bezirke sind und dann gar kein Ergebnis mehr kommt. Sinn macht das nur, wenn es solche Szenarios gar nicht gibt. Anderes Bsp.: "Schuhe rot grün", "Kette gold silber", etc. Dann wird das Beschlagworten (Tags, Taxes) zum heiklsten Prozess, der für alle "falschrichtigen" Ergebnisse verantwortlich ist. Es gibt allerdings ein nettes Plugin (Namen weiß ich jetzt nicht genau), mit dem man alle durchgeführten Suchen mitloggen kann (Dashboard Widget mit an Board). Über sowas haben wir in einem Projekt erstmal 2 Monate lang die Standardsuchen protokolliert und die Suche dann entsprechend modifiziert.

  • Na ja wenn man nach 4 Worten sucht und es eben nur 3 gibt, sollte das Ergebnis eben als erstes angezeigt werden, dann die mit 2, dann die mit nur noch 1. Die Suche soll ja nichts anders machen wie bisher... NUR anders sortieren, das kann doch eigentlich nicht so schwer sein, oder? Theoretisch müsste man die Ergebnisse nur zwischenspeichern und dann umsortieren anhand der Worttreffer. Ich hab aber absolut keine Ahnung wie da ansetzen momentan?!

  • Ergänzung: /wp-includes/general-template.php line 1835

    Heißt also, dass das (get_query_var) aus der WP_Query class kommt, bzw. dem Array query_vars. 's' steht also für search... (frag mich immer noch für was "m, p, w und tb" stehen..)

    Mit einem Array kann man so einiges machen. Die Frage ist bloß, wie so ein Suchergebnis aussieht. Siehe oben: Kannst Du mal eines abfangen und hier posten? Am koolsten wäre ein schönes foreach($result as $key => $val) { echo $key . ' - ' . $val . '<br />'; }

    :) Danke!

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Edited once, last by kaiser (July 15, 2010 at 2:09 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!