lundi 19 mars 2018

Randomly selecting document ArangoDB often gives the same results

The other day I saw a method for querying for a random document from a collection using AQL on this very same website:

Randomly select a document in ArangoDB

My implementation of this at the moment is:

//brands
let b1 = (
for brand in brands
filter brand.brand == @brand1
return brand._id
)

//pick random car with brand 1
let c1 = (
for edge in edges 
filter edge._from == b1[0] 
for car in cars 
filter car._id == edge._to 
sort rand() limit 1 
return car._id
)

However, when I use that method it can hardly be called 'random'. For instance, in a 3500+ document collection I manage to get the same document 5 times in a row, and over the course of 25+ attempts there're maybe 3 to 4 documents that keep being returned to me. It seems the method is geared towards particular documents being output. I was wondering if there's still some improvement to be done here or another method that wasn't mentioned in that thread. The problem is that I can't comment on the thread yet due to low reputation levels, so I can't ask the question in the same place. However I think it merits a discussion nonetheless. I hope someone can help me out in getting a better randomization.




Aucun commentaire:

Enregistrer un commentaire