Google Custom Search vagy saját kereső
Van egy weboldalam, amely egy többnyelvű oldal, és rendezvényeket lehet rajta keresni. Tehát egy adatbázis, ami rendezvényeket tartalmaz idő, kategória és helyszín szerint, különböző Európai országokból vegyesen. Na most azon gondolkodtam, hogy a Google Custom Search vagy egy saját kereső lenne-e a célszerűbb az oldalra.
Google Custom Serach előnyei:
- egyszerű keresés: egyetlen mezőben kell csak írni
- helyettem lekezeli a keresési találtok sorrendjét
Google Custom Serach hátrányai:
- nem tudom testre szabni a keresési lista felépítését, szerkezetét, kinézetét
- csak egyetlen keresési mező van, nem tudok kategória, helyszín vagy időpont szerint keresni
Saját kereső előnyei:
- testre tudom szabni a keresési lista felépítését, szerkezetét, kinézetét
- tudok kategória, helyszín vagy időpont szerint szűrni
Saját kereső hátrányai:
- mivel nem csak egy mezőt kell kitölteni, hanem megadott mezőket (időpont, helyszín, kategória), azért félő, hogy a felhasználó összezavarodik a túl sok szűrési lehetőségtől
- valahogyan meg kell oldanom a keresési listában szereplő elemek sorrendjét, hogy releváns legyen
Egyszerre a kettőt nyilván nem akarom. Szeretnék egy jó keresőt, ami illeszkedik az oldalamba, egyszerű használni, és testreszabható. Ti mit javasolnátok?
■ Google Custom Serach előnyei:
- egyszerű keresés: egyetlen mezőben kell csak írni
- helyettem lekezeli a keresési találtok sorrendjét
Google Custom Serach hátrányai:
- nem tudom testre szabni a keresési lista felépítését, szerkezetét, kinézetét
- csak egyetlen keresési mező van, nem tudok kategória, helyszín vagy időpont szerint keresni
Saját kereső előnyei:
- testre tudom szabni a keresési lista felépítését, szerkezetét, kinézetét
- tudok kategória, helyszín vagy időpont szerint szűrni
Saját kereső hátrányai:
- mivel nem csak egy mezőt kell kitölteni, hanem megadott mezőket (időpont, helyszín, kategória), azért félő, hogy a felhasználó összezavarodik a túl sok szűrési lehetőségtől
- valahogyan meg kell oldanom a keresési listában szereplő elemek sorrendjét, hogy releváns legyen
Egyszerre a kettőt nyilván nem akarom. Szeretnék egy jó keresőt, ami illeszkedik az oldalamba, egyszerű használni, és testreszabható. Ti mit javasolnátok?
Saját kereső
virtuális gépen vagyok
A google keresője csak
igaz
1. módszer:
Legyen egy [Kategória] - [Helyszín] - [Időintervallum] - [Szabadszöveg] keresési blokk, és akkor azt állítasz be, amit akarsz. Ha valamelyikbe nem írsz, az nem baj, de írhatsz mindegyikbe is (vagy kiválaszthatod, ha legördülő menü).
2. módszer:
Legyen csak egy [Szabad szöveg], és aztán ha elindítod a keresést, akkor alatta megjelenne a [Kategória] - [Helyszín] - [Időintervallum], és akkor arra már szűrhetsz, ha valamelyiket átállítod. Olyan keresőre gondolok, mint a Youtube-nál, ott is ugyan ez a szisztéma.
Szerinted melyik a jobb módszer?
Te hogyan oldalál meg egy ilyen típusú keresőt, hogy egyszerű is legyen meg érthető is, és ugyan akkor elég részletes is legyen?
Nem ismerem pontosan a
oké
A harmadikat
- A lekérdezésedbe találatként kerül, ha a keresett cucc bármelyik megfelelő oszlopban szerepel ([Kategória] [Helyszín] [Időintervallum] [Szabadszöveg]);
- A pontozási logikát úgy alakítod ki, hogy (pl. egy configból) szabályozható legyen, tehát hány pont, ha Kategória, ha Helyszín, stb.;
- Természetesen a pontozást is a lekérdezésen belül valósítod meg, mert az alapján lesz az ORDER BY;
- Esetleg egy második mező (itt) lehetne egy DatePicker, ha fontosnak érzed.
Az egész lényege, hogy a bonyolult logikát a Júzer terhelése nélkül valósítod meg, de igyekszel úgy pontozni a találatokat, hogy "mindenkinek" tetszen.
Hátránya, hogy nagyon oda kell figyelni a lekérdezésre, hogy nagyobb rekordszámmal is elmenjen.
- Egyetlen keresőmező; - A
- A lekérdezésedbe találatként kerül, ha a keresett cucc bármelyik megfelelő oszlopban szerepel ([Kategória] [Helyszín] [Időintervallum] [Szabadszöveg])
Ezt most nem értem. Úgy érted egyetlen szabad szöveges mező legyen, és amit oda beír, azt vessem össze az adatbázis kategória, helyszín, időintervallum oszlopaival? Mit értesz egyetlen keresőmező alatt?
Igen
city99 : majd keresek példát, ha lesz időm, nemrég egy letöltés-rangsorolást csináltam, ha megtalálom, hozom.
példa
ennek a megvalositasra tudnál mutatni egy peldat?
Így helyből sajnos nem
De itt is valami hasonló kellene, úgy, hogy a
rank
oszlop teljes egészében számított. Ha nagyon egyszerűen akarod, akkor a def. rank 0, továbbá IF feltételekkel adsz hozzá pontokat, ha a keresett szó megvan az "A" vagy "B" vagy stb. oszlopban. Lehet úgy "súlyozni", hogy "A"-találatra pl. több pontot adsz, mint "B"-re. Az már keményebb dió, ha a többszöri előfordulást is pontozni akarod. A WHERE feltétel persze így is kell, hogy kiessenek azok a rekordok, amikben sehol sincs találat. ORDER BY értelemszerűen rank DESC.Elképzelhetőnek tartom, hogy létezik erre telepíthető kereső is (amelyik közvetlenül az adatbázisban keres), de én még nem használtam ilyet (inkább megírtam), viszont ha van, lehet azt jobb befogni.
4. módszer: Egyetlen szabad
Egyetlen szabad szöveg mező, amibe a keresési feltételeknek prefixük lehet:
- „valami” – bárhol
- „kategória:fontos” – csak a kategória mezőben
- „Budapest helyszín:Debrecen” – „Budapest” bárhol és „Debrecen” csak a helyszín mezőben
Ilyen például a StackOverflow meg a GitHub keresője. Előnye a rugalmasság:- Könnyen bővíthető újabb mezőkkel design módosítás nélkül
- Könnyen bővíthető logikai operátorokkal: „valami VAGY semmi”
- Könnyen bővíthető relációs operátorokkal: „idő:>2013-01-01 ÉS idő:<2013-12-31”
Hátránya, hogy a látogatók részéről is igényel egy kis rugalmasságot…Az ilyennél ügyelni kell rá,
Hát
A példaoldalakat sem az "egyszerű látogatók" használják.