24. april 2005 - 22:24Der er
15 kommentarer og 1 løsning
Søge index
Hvordan vil man lave et søge index på en stor datamægte ??
Jeg vil prøve om jeg kan lave en søgemaskine som google :D men der må være en smart måde at søge så stor da datamægte på..
Jeg har prøvet at lave en lille database med "Random Access" i VB.. med 200.0000 records.. den er også hurtig.. men ikke når man skal tjekke 200.0000 strings.. med fx. If xx = yy Then
Jeg ved godt at det er "C/C++" kategori.. men skal bare have noget info.. og gerne på dansk :D
Ja lige nu har jeg lave en lille database som file hvor jeg bruger Get.. record men ved ikke om det er smart at smide 200.0000 records.. i memory :D det skal kodes i vb og eller PowerBSIC
Hvormange records du kan have i memory afhænger jo af hvor store records er og hvor meget memory du har at bruge til formålet.
Du bør nok kunne få CreateFile FILE_FLAG_RANDOM_ACCESS til at virke, men du skal jo vær eklar over at det er bare random access til bytes. Der er et stykke vej fra det til en database.
Hvis det ikke er en eksakt streng, så skal man have et index hvor de enkelte ord er indexeret og så finde man records for alle ordene og vælger kun de records som optræder for alle ordene.
Bucket search er også en god mulighed, du laver en X-dimensional tabel med de X første tegn som index, fx. X=2 og du søger på Arne T['a']['r'] givene en pointer til en list med alle ord der begynder med "ar", sorteret f.ex. i et B-tree som du så finder arne i, så gentager du samme søgning på de andre ord og kombinere de 3 lister så kun fælles resultaterne kommer frem.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.