slipsoft / slipdb

Distributed index based search engine.
4 stars 0 forks source link

fully working FilterGroup execution #69

Closed n-peugnet closed 5 years ago

n-peugnet commented 5 years ago

by making DiskPositionSet extend TreeSet instead of ArrayList

SylvainJoube commented 5 years ago

Question du coup, pourquoi des Sets poutôt que des List, j'ai pas bien compris ^^ (mais il doit y avoir une bonne réison, je suppose ^^) Après, attention avec les Sets (mais si

-> Tu as bien testé que l'IndexTreeDic marchait toujours parfaitement ? L'ordre est fondamental pour qu'il marche toujours (dichotomie oblige)

SylvainJoube commented 5 years ago

Je viens de tester, ça a effectivement l'air de toujours marcher ^^ Je vais manger puis regarder ce que tu as modifier pour bien vérifier que tout est OK pour une grosse volumétrie et pleins de fichiers

SylvainJoube commented 5 years ago

Après, malheureusement, l'IndexTreeDic est super cool, mais ne correpond pas à ce qu'Olivier demande ^^" Je pars sur l'implémentation de l'Index multi colonne dans une autre branche, si ça te vas !

n-peugnet commented 5 years ago

oui carrément. Je pense que pour rester compatible avec les positions sur disque on peut avoir un array de position faisant le lien entre les positions in memory et celles sur disque. Comme on en avait parlé la dernière fois en cours.

Le set permet de faire des intersections et des unions beaucoup plus facilement qu'avec les collections et il n'est que temporaire au moment de retourner les résultats. (enfin à moins qu'il soit aussi utilisé autre part ??)

SylvainJoube commented 5 years ago

Est-ce que la modification de ArrayList -> TreeSet est uniquement pour faire marcher FilterGroup.java ? Si c'est le cas, ça ne me semble pas être une bonne idée d'utiliser cette méthode, pour pleins de raisons, je pense avoir raison cette fois-ci pour le coup ^^

SylvainJoube commented 5 years ago

@n-peugnet Yap, c'est utilisé autre part comme on en a parlé sur Facebook, et malheureusement, ça détériore beaucoup les performances de IndexTreeDic, du coup, je pense que ça serait bien de n'utiliser les sets que lors de Intersections et de repasser à une Arraylist partout ailleurs (donc de supprimer cette PR ^^)