Kezdőoldal » Számítástechnika » Weblapkészítés » Egy weboldal keresőjét bonyolu...

Egy weboldal keresőjét bonyolult feladat jól működőre megcsinálni?

Figyelt kérdés
Sokszor szoktam találkozni oldalakkal, ahol a kereső nem azokat a találatokat dobja ki, melyekre rákeres az ember.
2016. szept. 12. 08:38
 1/9 anonim ***** válasza:
Kb ugyanannyi, mint rosszul működőre.
2016. szept. 12. 09:41
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

Általában csak rész egyezést figyel, simán: LIKE "%{$keyw}%"

Amúgy azt kapod amire rákerestél, max miben keres nem pontos...


A google meg hasonlók esetén, meg már teljesen másképp megy.

Ott egy csomó dolgot bele helyeznek, egyéni és globális szokások alapján.

És a végeredményt úgy rakják sorba ami a felhasználónak szokásai alapján leginkább releváns.

2016. szept. 12. 09:42
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Ok, szóval annak aki ért hozzá, ez nem olyan nagy kunszt? Tehát nem egy több hónapos fejlesztést igénylő feladat?
2016. szept. 12. 09:47
 4/9 anonim ***** válasza:

"Tehát nem egy több hónapos fejlesztést igénylő feladat?"

Ezt így nem lehet 100% -ban kijelenteni!!!

Ha van egy egyszerű szerkezetű weboldal, ami adatbázisban trolja az adatokat, és 1 mezőben kell keresni, akkor nem...

De ha mondjuk egy 1000 oldalas statikus weboldal, amit dinamikussá kell konvertálni, esetleg még speciális paraméterek alapján is kell keresni, na'h ott igen, akár hónapok is lehet...

2016. szept. 12. 10:09
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

Nem tudom pontosan, mire gondolsz.

A legegyszerűbb kereső pontos egyezéseket keres.

Tehát, ha te beírod neki, hogy "almalé", akkor az "alma" szót nem találja meg, de olykor az "almalevet" sem. "almalé", "almalével", "almalé ízű" ezeket meg fogja találni.

De ha vannak kulcsszavak, akkor azokban is tud keresni.


A bonyolultabb keresők meg tudják állapítani az összetett szavak első tagját, és a szótöveket. Egy ilyen már megtalálja az "almalevet" vagy az "almalével" szót is, mert tudja, hogy az "alma" a szótő. Egy ilyen leprogramozása már nem triviális feladat.


Az ennél is komplexebb keresők MI alapon működnek. Ki tudja találni neked, hogy ha az "cukros almalé" szókapcsolatra keresel, akkor téged érdekelnek a cukros nedűk, meg a gyümölcslevek, elsősorban az alma. Ez alapján keres neked cukros almalevet, de akár almareszelőt gépet is, vagy kifejezetten gyümölcslé készítéségez való cukrot, de még a gyümölcsök egészségtudatos megközelítéséről is tud tájékoztatni. Az ilyen kereső ritka, Google, Cortana, Siri, stb.

2016. szept. 12. 10:40
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:
Én arra gondolok, ha beírom a keresőbe, hogy alma, akkor ne azt dobja ki, hogy szalvéta, csak mert a leírásában szerepel az a szó, hogy "tartalmaz", amiben valóban szerepel az alma, de semmi köze hozzá...
2016. szept. 12. 11:38
 7/9 anonim ***** válasza:

Én ezért csinálom úgy a keresőt, hogy egyszerű, gyors legyen, és valamennyire pontos...

3. dologba keresek, Elsőnek a Címében, aztán a kulcsszavak közt, majd a leírásban.

Elsőnek az kerül ami egyezik, tehát pontos kifejezés.

Utána az jön, ami részben egyezik, pl. almára keres, de almalé van a címben.

Aztán ha sehol semmi, akkor leírásban, pl. ha egy almás mintájú szalvéta, aminek nincs a címben hogy alma, de a leírásba szerepel, akkor megtalálhatja a szalvétát is.

2016. szept. 12. 17:16
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

A rendszertől és a feltételektől függ, hogy mennyire bonyolult.

Pont ez, amit a kérdező is mondott egy olyan eset, ahol már "komolyabb" megoldás kell, mert a csak tartalmazza az adott szót kevés, bár itt is egy függ már az adatbázistól.


Aztán innen lehet tovább menni a hatékonyabb keresők felé, nálunk van Solr és ElasticSearch is, mert ezek nélkül több percet kéne várni már.

2016. szept. 12. 22:25
Hasznos számodra ez a válasz?
 9/9 2*Sü ***** válasza:

Nem is maga a keresés, hanem a találatok sorrendje az, ami nem triviális.


De vegyünk néhány szempontot:


1. Teljes szóra keressen, vagy szórészletre is? A teljes szó lehet, hogy kihagy releváns találatokat. Pl. ha valaki rákeres a „fúró” szóra, akkor azért szeretnénk, ha a „fúrógép” is benne lenne a találatban. Viszont behoz irreleváns találatokat. Lásd: „alma” vs. „tartalmaz”. Itt lehet súlyozni, hogy a teljes szóegyezőség előbbre sorolódik, a szó eleji egyezés is kicsit előbbre kerül, a szó közepére illeszkedő találat meg hátrább kerül.


2. Ékezeteket mennyire kezelje rugalmasan? Ha szigorúan veszi, akkor a „óra” szóra nem lesz találat a „órák” szó, pedig releváns lehet. Ha viszont figyelmen kívül hagyja az ékezeteket, akkor a „tévé” keresőszóra megtalálja a „teve” szót is, ami meg nem releváns. Itt is lehet súlyozni, hogy az ékezetes egyezőség előbbre sorolódik.


3. Több szó esetén is kérdés, hogy az egy komplex kifejezés, amit egyben, ilyen sorrendben keresünk, vagy a sorrend nem számít. A „paprikás csirke” keresőszóra előjöhetne a csirkepaprikás is. Vagy a „kockás ing”-re, az „ing, kockás” is. Na itt megint lehet cizellálni, hogy a teljes kifejezés egyezőség előbbre sorolódik, ha nem teljes az egyezőség, akkor a szomszédos szavak, vagy a szavak távolsága kicsit előrébb van, ha a megtalált két szó között van 1000 karakter, akkor meg a végére teszi. Itt már az is bejön, hogy kombinálódik az egész az első két szemponttal. No de milyen arányokkal? A „nap kép”-re melyik találat jöjjön előre? A „naplemente háttérkép”, ahol a két szó egymás mellett van, de nem teljes a szóegyezés? Vagy a „Ez az ezer kép olyan lassan töltődött fel, hogy három nap volt, mire felkerült”? Nem triviális, pro és kontra is lehet példát találni, hogy az egyik jobb, mint a másik.


4. Ha több mező van, akkor még cizelláltabb a helyzet. Addig oké, hogy mondjuk a címben megtalált szó nagyobb prioritású, mint az alcímben megtalált, a leírásban megtalált szó meg kevésbé releváns találat. Na de mi van, ha két szóra keresek rá, az egyik a címben van, a másik az alcímben, de mindkettőnél részleges és nem ékezethelyes a találat. Az most jobb, mintha teljes ékezethelyes kifejezésegyezés van de a leírásban?


Itt kérdés, hogy mennyire akarod cizellálni a dolgot, mennyire fontos, a találatok relevanciája, sorrendje. Nyilván a végtelenségig lehet ezt optimalizálni, csak akkor hónapokig dolgozol a keresésen. Meg lehet kompromisszumokat hozni, és akkor kicsit egyszerűbb. Meg lehet egy buta keresőt is csinálni, mert a célnak az adott oldalon megfelel.

2016. szept. 13. 01:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!