livesearch Verständnisfrage

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
wh1sper
Regular
Posts: 113
Joined: Sat Jan 15, 2005 6:26 pm
Location: Germany
Contact:

livesearch Verständnisfrage

Post by wh1sper »

Ich dachte bisher immer, die Live search funktion sucht in der Seite selbst. Für Ergebnisse auf älteren Seiten befragt man die Datenbank, indem man enter drückt.
Das ist aber wohl nicht ganz richtig, manchmal findet man Sachen, die NICHT auf der Seite sind trotzdem.
Wie funktioniert das?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: livesearch Verständnisfrage

Post by garvinhicking »

Die Livesuche sucht in der Datenbank, und macht das mittels AJAX. Es ist also komplett unabhängig von dem, was derzeit auf der Seite ist. Dafür würde man die Browser-Suchfunktion bemühen. :-)

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
wh1sper
Regular
Posts: 113
Joined: Sat Jan 15, 2005 6:26 pm
Location: Germany
Contact:

Post by wh1sper »

So, mittlerweile bin ich schlauer. Livesearch verwendet ein typische Feature von web2.0 , naemlich XMLHttpRequest (http://blog.bitflux.ch/wiki/LiveSearch)
Da die beiden Ergebnisse der Suche mit livesearch und Enter druecken untgerschiedlich sind, muss also die sql-abfrage eine andere sein... na gut, dann muss ich wohl selber mal gucken
ups , da haben wir parallel getippt ;)
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Eigentlich dürften die Ergebnisse sich nicht unterscheiden, da in beiden Fällen die serendipity_searchEntries() funktion angesprochen wird...

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
wh1sper
Regular
Posts: 113
Joined: Sat Jan 15, 2005 6:26 pm
Location: Germany
Contact:

Post by wh1sper »

Ich glaub, ich habe ide Lösung.
Im Javascript wird nach 200 millisekunden timeout die Suche gestartet. wenn man nun etwas langsamer tippt, dann beginnt eine anrage schon, bevor der suchbegriff vollständig eingegeben worden ist. Die folge ist, das es zu keinen Treffer kommt, weil nur ganze wörtr gesucht werden.
Ich habe das Timeout auf 500 millisekunden verlängert, nun klappts besser :)

Code: Select all

function liveSearchStart() {
    if (t) {
        window.clearTimeout(t);
    }
    t = window.setTimeout("liveSearchDoSearch()",500);
}
edit: aber ich habe dadurch mitbekommen, das Sternchensuche funktioniert. zwar nur trailing Sternchen, aber immerhin :)
also zene* findet z.b. zenega
Post Reply