Read Message  

SUBJECT:Bygga egen sökmotor, algoritmer?
FROM:Apachez <registered user>
INFO:http://www.apachez.net
DATE:2006-04-13 13:20
LINK:http://www.tbg.nu/news_show/84370/1

Har kämpat lite med att förbättra sökmotorn för tbg och bästa budet so far är Sphinx (http://www.shodan.ru/projects/sphinx) men även den har lite begränsningar så jag försöker bygga själv igen.

Någon som har tillgång till något bra material kring algoritmer för att få sökningarna snabba ?

Dvs vilka "tabeller" behöver man skapa med information och hur relationen mellan dessa är för att plocka ut träffarna ?

Bäst resultat hitills ser ut att vara en slags word + match kombination.

Dvs att i wordtabellen ha dom unika ord som förekommer och vilket wordid resp. ord har fått. I matchtabellen har man kopplingen mellan wordid och postid där postid är vilka inlägg ordet förekommer i.

Postid har den dubbla funktionen att den även återspeglar det relativa datumet för när inlägget skapades dvs högre postid innebär nyare inlägg.

Nu blir det grymt enkelt att plocka ut dom 500 senaste inläggen som matchar vid sökning på ett visst ord.

SELECT postid FROM word, match WHERE word = 'sökord' AND word.wordid = match.wordid ORDER BY postid DESC LIMIT 500;

Men problemet kommer när man ska utföra en AND sökning. Dvs att samtliga ord som man söker efter skall finnas med i resultatmängden. Resultatmängden skall även sorteras på datum (postid) och slutligen vill jag plocka ut dom 500 senaste inläggen.

Men hur ska man göra detta på ett effektivt sätt, finns det någon annan metod än word + match kombinationen som man kan tillämpa ?

Jag har provat att använda något i stil med (förkortat):

COUNT(*) AS hits WHERE word IN ('sökord1','sökord2','sökord3') GROUP BY postid HAVING hits >= 3

Problemet här är att IN innebär att det är en OR sökning som genomförs därför tvingas jag att gruppera på postid och slutligen plocka ut endast dom grupperingar som har fler än 3 träffar (dvs 3 objekt i gruppen med samma postid). Detta ger även att wildcardsökningar inte fungerar rakt av men även att all denna gruppering gör att det blir väldigt långsamma sökningar när man söker på vanligt förekommande ord.

Så jag har ramlat in på att utföra det hela som en sökning för resp. sökord och sedan mellanlagra resultatet för att i slutändan sortera på postid och plocka ut dom 500 senaste inläggen som gav träff i alla sökningar. Men även detta ger att sökningar på vanligt förekommande ord tar sin lilla tid.

Så då är frågan om enda metoden är att köra word + match och sedan skjuta iväg en sökning per sökord men samtidigt "fuska" så att man inte plockar in alla resultaten utan endast dom tex 5000 senaste. Problemet här är att det finns en teoretisk risk att man missar inlägg i slutresultatet (tex om inlägget som innehöll alla sökorden kom först på plats 5001 och därmed inte togs med när man bara tog fram dom 5000 senaste, för att i sista rundan plocka ut dom 500 senaste) eller om det finns några bättre metoder som man kan lösa mha sql ?

Hur utför system som sphinx och lucene men även google sökningarna "på pappret" för att utföra AND sökningarna ?

Någon som har idéer här att presentera eller tipsa om länkar där jag kan läsa vidare (observera att detta inte handlar om någon flatfilehistoria likt lucene eller sphinx utan att lösa det hela med enbart sql (mysql)) ?

CURRENT THREAD FROMWHEN
Bygga egen sökmotor, algoritmer? Apachez 1431 days ago
   Re: Bygga egen sökmotor, algoritmer? Tapsa 1431 days ago
   Re: Bygga egen sökmotor, algoritmer? Apachez 1431 days ago
      Re: Bygga egen sökmotor, algoritmer? Apachez 1426 days ago
         Re: Bygga egen sökmotor, algoritmer? Anonymous 1426 days ago
         Re: Bygga egen sökmotor, algoritmer? Apachez 1424 days ago
         Re: Bygga egen sökmotor, algoritmer? Syntax 1424 days ago
         Re: Bygga egen sökmotor, algoritmer? Anonymous 1424 days ago
         Re: Bygga egen sökmotor, algoritmer? Anonymous 1424 days ago
         Re: Bygga egen sökmotor, algoritmer? Apachez 1424 days ago
         Re: Bygga egen sökmotor, algoritmer? Apachez 1423 days ago
            Re: Bygga egen sökmotor, algoritmer? Anonymous 1422 days ago
               Re: Bygga egen sökmotor, algoritmer? Apachez 1422 days ago
                  Re: Bygga egen sökmotor, algoritmer? Apachez 1420 days ago
                     Re: Bygga egen sökmotor, algoritmer? Apachez 1420 days ago
                        Re: Bygga egen sökmotor, algoritmer? Apachez 1420 days ago
                           Re: Bygga egen sökmotor, algoritmer? Fetta 1419 days ago
                           Re: Bygga egen sökmotor, algoritmer? Apachez 1419 days ago
                              Re: Bygga egen sökmotor, algoritmer? Apachez 1419 days ago
                                 Re: Bygga egen sökmotor, algoritmer? Samme 1419 days ago
                                 Re: Bygga egen sökmotor, algoritmer? Cruiser 1419 days ago
                                 Re: Bygga egen sökmotor, algoritmer? Apachez 1413 days ago
                                    Re: Bygga egen sökmotor, algoritmer? Apachez 1407 days ago
                                       Re: Bygga egen sökmotor, algoritmer? Apachez 1386 days ago
                                       Re: Bygga egen sökmotor, algoritmer? Anonymous 1386 days ago
                                       Re: Bygga egen sökmotor, algoritmer? Apachez 1386 days ago
                                          Re: Bygga egen sökmotor, algoritmer? Anonymous 1386 days ago
                                          Re: Bygga egen sökmotor, algoritmer? aps 1288 days ago
                                       Re: Bygga egen sökmotor, algoritmer? Samme 1386 days ago
                                       Re: Bygga egen sökmotor, algoritmer? Apachez 1379 days ago
                                          Re: Bygga egen sökmotor, algoritmer? Apachez 1378 days ago
                                             Re: Bygga egen sökmotor, algoritmer? Apachez 1335 days ago
                                                Re: Bygga egen sökmotor, algoritmer? Apachez 1333 days ago
                                                Re: Bygga egen sökmotor, algoritmer? Cruiser 1333 days ago
                                                   Re: Bygga egen sökmotor, algoritmer? Apachez 1310 days ago
                                                      Re: Bygga egen sökmotor, algoritmer? Cruiser 1310 days ago
                                                         Re: Bygga egen sökmotor, algoritmer? Apachez 1308 days ago
                                                            Re: Bygga egen sökmotor, algoritmer? Apachez 1298 days ago
                                                            Re: Bygga egen sökmotor, algoritmer? Samme 1298 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? Samme 1298 days ago
                                                                  Re: Bygga egen sökmotor, algoritmer? Apachez 1298 days ago
                                                                     Re: Bygga egen sökmotor, algoritmer? Samme 1298 days ago
                                                            Re: Bygga egen sökmotor, algoritmer? Apachez 1268 days ago
                                                            Re: Bygga egen sökmotor, algoritmer? Apachez 1124 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? jnx 1124 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? Cruiser 1124 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? Samme 1124 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? Aminion 1124 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? Djur 1124 days ago
                                                               Re: Bygga egen sökmotor, algoritmer? aps 1124 days ago
                                                Re: Bygga egen sökmotor, algoritmer? Valrossen 915 days ago
         Re: Bygga egen sökmotor, algoritmer? Anonymous 1423 days ago
            Re: Bygga egen sökmotor, algoritmer? Apachez 1423 days ago
               Re: Bygga egen sökmotor, algoritmer? Anonymous 1423 days ago
               Re: Bygga egen sökmotor, algoritmer? Apachez 1423 days ago
               Re: Bygga egen sökmotor, algoritmer? Anonymous 1421 days ago
                  Re: Bygga egen sökmotor, algoritmer? Apachez 1421 days ago
   Re: Bygga egen sökmotor, algoritmer? Bladet 1288 days ago
   Re: Bygga egen sökmotor, algoritmer? Anonymous 1287 days ago
   Re: Bygga egen sökmotor, algoritmer? Anonymous 1268 days ago
   Re: Bygga egen sökmotor, algoritmer? Anonymous 422 days ago
      Re: Bygga egen sökmotor, algoritmer? Apachez 422 days ago

Webmaster: Apachez