ugrás a tartalomhoz

Kereső készítés elvei

inf · 2011. Júl. 14. (Cs), 15.33
Üdv.

Érdekelne, hogy ti milyen elven állnátok neki keresőt készíteni.

Nekem eddig ezek jutottak eszembe:

1.)
Az első változatom: egyetlen SQL-el keresek, amit az egyes szavakból, és azok tetszőleges kombinációjából rakok össze. Ezzel az a gond, hogy a lehetséges kombinációk száma a szavak számával rohamosan nő, ezért csak néhány szavas kifejezésekre használható megbízhatóan.

2.)
Minden szóra egyesével keresek rá, majd összevetem a találatokat. Ennek az a hátránya, hogy több SQL-t használok fel, viszont ezeknek az SQL-eknek a száma lineárisan nő a szavak számával, szóval nálam most ez néz ki nyerőnek, de még nem próbáltam ki.
 
1

Sphinx

janoszen · 2011. Júl. 14. (Cs), 16.17
3

Jééé...

H.Z. v2 · 2011. Júl. 14. (Cs), 16.22
"Fantasztikus, hol tart már a tudomány..." :-)
((c) Monty Python)

Nem is tudtam, hogy van ilyen is.
11

Bámulatos, hol tart már a tudomány!

_subi_ · 2011. Júl. 14. (Cs), 20.57
A Gyalog galopp nagy kedvencem, szerintem inkább így helyes az idézet:
"Bámulatos, hol tart már a tudomány!" :)

Nem tegnap láttam, szóval lehet, hogy tévedek.
2

Attól függ...

H.Z. v2 · 2011. Júl. 14. (Cs), 16.17
Milyen keresőre gondolsz? Valami lokális google utánzatra?
Mert akkor az RDBMS-eket felejtsd el!

Olcsó megoldásként talán a MongoDB jöhet szóba (bár ebben nem vagyok biztos), fizetősként pedig az IBM-től láttam olyan szoftvert, ami e célra használható, de borzasztóan drága és olyan sikeres agymosást hajtottam végre magamon, hogy csak az OnDemand jut eszembe, a teljes szoftver neve nagyon nem... :-(
(rákeresve, lehet, hogy Content Manager OnDemand néven fut)

Illetve nem tudom, hogy van-e a google-nek olyan szolgáltatása, ami privát kereső üzemeltetését teszi lehetővé (publikus, adott site-on működő keresőjük van, azt tudom)
5

Csak egy szimpla keresőre.

inf · 2011. Júl. 14. (Cs), 16.23
Csak egy szimpla keresőre. Mondjuk ha van egy céglistád, akkor abban megtalálja az adott céget, vagy bármi ilyesmi... Szóval semmi nagyra nem gondoltam, mert arra google-t használ a normális ember...
6

arra google-t használ a

H.Z. v2 · 2011. Júl. 14. (Cs), 16.32
arra google-t használ a normális ember...

Azért erről megoszlanak a vélemények. ;-)
Nem hinném, hogy örülnél, ha mondjuk a banki adataidat a gúgliból elő lehetne keresni. :-)
7

Ami az SQL részt illeti, amíg

kuka · 2011. Júl. 14. (Cs), 16.45
Ami az SQL részt illeti, amíg a full-text search (lásd MySQL, PostgreSQL, SQLite) fedezi a szükségletet, én arra fele tapogatóznék.
10

Azt hiszem már régebben

inf · 2011. Júl. 14. (Cs), 20.19
Azt hiszem már régebben utánanéztem, csak volt vele valami probléma. Azt hiszem olyasmi, hogy rosszul súlyozott a kifejezéseknél. PL ha 3 szó ugyanúgy egymás után volt a szövegben, ahogy megadták, akkor annak nem volt magasabb a pontszáma, mintha elszórva lettek volna a szövegben.
12

Nem erre való

janoszen · 2011. Júl. 14. (Cs), 21.02
Lássuk be, hogy a MySQL nem speciálisan erre való, hanem egy generikus relációs adatbázis. Innentől kezdve nem fog egy speciális funkcióra annyira jól működni, mint egy célszoftver.
13

A full text search szerintem

bb0072 · 2011. Júl. 15. (P), 10.53
A full text search szerintem nagyon is használható a célra, egy kellően bonyolult queryvel tetszőlegesen súlyozott találati listát is összeállíthatsz, fulltext indexeket is használhatsz, a keresett stringre pedig cache-elheted is az eredményt.

Meglátásom szerint egyetlen hiányossága van: nem tudsz vele töredékszavakra keresni. Ezenkívül oda kell figyelni néhány dologra: csak MyISAM típusú táblán lehet fulltext index, match-against-el kell keresni és a match-against-ben felsorolt mezőknek együttesen kell szerepelnie az indexben.
14

Meglátásom szerint egyetlen

kuka · 2011. Júl. 15. (P), 11.08
Meglátásom szerint egyetlen hiányossága van: nem tudsz vele töredékszavakra keresni.
Pontosabban mire gondolsz? Mert például „bb*” kifejezésre általában megtalálják a „bb0072” szót.
15

Szóval felejtsem el a

inf · 2011. Júl. 15. (P), 13.19
Szóval felejtsem el a tranzakciókat, ha full text search-el akarok gányolni... Hát ezt a megoldást nem tartom túl használhatónak, max ha adott a myisam-os adatbázis. Én egyébként tartom azt az álláspontot, hogy a súlyozás nem működött megfelelően...
4

Zend Lucene

blacksonic · 2011. Júl. 14. (Cs), 16.22
ez is megér egy pillantást ha lokálisan akarod megoldani
Zend Lucene
8

Apache Lucene / Apache Solr

Poetro · 2011. Júl. 14. (Cs), 17.12
A Lucene és az arra épülő Solr szintén jó választás tud lenni, ez utóbbit főleg nagyobb adathalmaz szűrésére alkalmas (pl. webshop termékek) de tökéletes általános célú keresőnek is. Java alapúak.
9

Okés, köszi.

inf · 2011. Júl. 14. (Cs), 20.17
Okés, köszi.