EfBe schreef op 12 mei 2003 @ 12:28:
maar wat me dan opvalt is dat de uiteindelijke zoekmachine dus op threads wordlists bijhoudt en niet op messageniveau. Dat strookt totaal niet met wat er toen besproken is en gebouwd ging worden.
De zoekmachine waar die discussie over ging bestond toen en bestaat nu nog niet. Daardoor zijn we op zoek gegaan naar een beter alternatief dan de MySQL-based engine en dat hebben we, imho, gevonden.
Dat het nog beter kan staat buiten kijf, dat dat complicaties meebrengt imho ook

Ik vind het dan op zijn zachtst gezegd een beetje vreemd als het ALWEER wordt rechtgeluld dat de zoekmachine in gevallen waarbij de thread langer is dan een 1 pagina (want 2 of 3 pages met messages doormoeten voor je antwoord is OOK storend) niet helpt.
Het wordt niet rechtgeluld, er wordt uitgelegd waarom die functionaliteit atm niet wordt aangeboden.
A) zijn die threads volgens sommige mensen niet interessant (oh? Hoe weet jij dat? Mag de zoeker dat bepalen?)
Zo bedoelde ik dat iig niet, maar zodra er twintig discussies door elkaar lopen is het zelfs als je een specifieke message wordt aangereikt nog niet gegarandeerd zo dat je hebt gevonden in die thread wat je zoekt of dat je niet alsnog een hoop reacties moet doornemen...
B ) is het kennelijk een meesterlijk stukje software-design die zoekmachine, dus daar mag je geen kwaad woord over zeggen.
Onzin, maar het is wel zo dat wij het niet zelf gebouwd hebben (wel de aansturing en de ingebruikname enzo, waar nog redelijk wat mogelijkheden bij zitten) en we daardoor niet zo makkelijk zeer structurele wijzigingen kunnen maken. (message of topic basis indices is onze keus verder)
En dan nog eens wat: wordlists op basis van threads zijn minder correct, TENZIJ je stiekum toch op messageniveau je wordlists bijhoudt. Immers: als ik zoek op radeon en overclocken en in een random topic met 209 messages wordt in message 99 'radeon' genoemd en in message 199 'Overclocken' dan is dat wellicht fijn om te weten, maar ik heb niet echt het gevoel dat message 99 ook maar iets vertelt mbt message 199, tenzij 199 OOK over radeon gaat, maar die kans is klein bij veel messages in een thread.
En dat is dus wederom een nadeel van de lange threads. Hoewel je voorbeeld bij een klein topic van 10 reacties juist weer wel opgaat, als er in reactie 2 'radeon' genoemd wordt en in 9 'overclocken' zal dat beide nog wel over hetzelfde onderwerp gaan.
Filter je op messages (dus ranking op message basis, dan threads, dan fora) dan heb je veel sneller het juiste resultaat.
Er wordt al gewogen op de afstand van de woorden, daarmee dus ook al enigszins op het feit dat woorden in een specifieke reactie staan.
Maar goed, mijn kritiek is niet gewenst. Sorry hoor, ik zal niet weer tegen je heilige huisje aanschoppen.
Je kritiek is wel gewenst. De manier waarop kan nog wel eens beter, maar de inhoud is over het algemeen wel goed.
Het is alleen wel zo dat wij hebben te roeien met de riemen die we hebben, zelf de uiteindelijke afweging over keuzes moeten maken, elke wijziging per definitie tijd kost (zeker als het gaat over het werken met gigabytes aan data) en daarmee ook niet zo makkelijk even getest kan worden.
EfBe schreef op 12 mei 2003 @ 12:42:
Ik volg bv in procs en mobo's de canterwood thread. Daar staat nu veel info in over die chipset en de nieuwe mobo's. Als mensen dus gaan zoeken op een mobo met zo'n chipset en meer willen lezen over bv de MSI versie, dan komen ze die thread tegen. Dat ding heeft 500+ messages. Na msg 200 komen de mobo's pas echt aan bod. Ik weet zeker dat die persoon afhaakt na message 50.
Maar hoe goed zou jij in zo'n topic je ding kunnen vinden als je alleen maar op message-basis kon zoeken? Beter?
Als je iets zoekt, en je wilt antwoord, dan is het zaak dat je vraag matcht met de vraag in de topicstart. Immers dan weet je dat je antwoord krijgt, dat staat er nl. onder.
Maar alleen maar als jouw vraag exact in één message staat, als je immers een vraag hebt met een combinatie van de bewoordingen uit message1 en de antwoorden uit message2 en message3 hebt is de kans al een stuk kleiner dat je dat topic kreeg (zeker als je een AND-search deed).
Maar dan alleen wanneer je ook ranking hebt op basis van hoe dicht de keywords bij elkaar staan
Voor zover ik de engine begrijp is dat er al

en no offence, maar als 2 messages boven elkaar staan en ze zijn beide antwoorden op dezelfde message dan hebben die 2 messages niet een relatie met elkaar (direct) maar via de message waar ze op replyen. M.a.w.: dan kijken hoe dicht woorden bijelkaar staan levert niet een goed beeld. Op message niveau dan weer wel.
Maar dat die antwoorden niks met elkaar te maken hadden doet uit het zoekoogpunt toch niks af aan de kwaliteit van dat resultaat als antwoord op jouw query?
Tenzij het natuurlijk beide antwoorden waren op een andere vraag en de toevallige combinatie van woorden ten onrechte als een correct resultaat werd gezien...
9GB, hoeveel van die data wordt uberhaupt in een jaar geraadpleegd? Zit daar ook meuk bij van meer dan een jaar oud? (ik kan bv niet topics openen van een jaar oud, alleen via de search).
Zoals je zelf al over de lange topics zei, wie ben ik om te bepalen of dat wel of niet relevant is?

Het grootste deel zal lang niet altijd geraadpleegd worden, maar
af en toe misschien wel.
Als het verdubbeld heb je inderdaad een probleem (nu ook al, het past niet in memory)
Mja, de indices kunnen nog makkelijk in het geheugen (die zijn lekker klein, bitmapjes zijn het geloof ik)
maar 9 GB aan wordlists is wel erg veel, als je kijkt naar de hoeveelheid bezoekers, moet daar veel data bij zitten dat nauwelijsk gebruikt wordt.
Maar dat is vrijwel per definitie zo met een zoekmachine, als we alleen die topics konden indexeren die iedereen interessant zou vinden zouden we miljoenair kunnen worden met de bijbehorende software
Maar het is geen 9GB (9.3 om iets meer precies te zijn) voor de wordlist zelf hoor, de complete omega-db is zo groot.
Er is zo'n 4.6GB aan positionele data (dus woordx - woordy - woordz combinaties per thread), deze zal relatief gelijk blijven (zal wel iets van 5a6GB worden ofzo, maar ok).
Dan is er zo'n 2.2GB aan woordY-staat-in-documentX relaties (deze zal wel wat (veel?) meer dan verdubbelen, gezien de overlap van reacties).
En nog eens 2GB aan documentX-bevat-woordY relaties (dit klinkt als een overlap met de voorgaande, maar is in wezen een hele grote index om vooral het ranken te ondersteunen en ook deze zal wel flink groeien).
Verder is er nog het een en ander aan datafiles voor de extra sortering (68MB) en de record-data zelf (338MB) (die ook nog eens behoorlijk gaan groeien)
Er zijn overigens zo'n 700K topics vs 8M messages in de database (geldt dus vooral voor de sql-database, de omega-database heeft dus zo'n 700K 'documenten').
[
Voor 5% gewijzigd door
ACM op 12-05-2003 14:22
]