Como encontrar os pares mais próximos (distância de Hamming) de uma sequência de posições binárias no Ruby sem problemas com O ^

Eu tenho um MongoDB com cerca de 1 milhão de documentos. Todos esses documentos têm uma sequência que representa uma bandeja de 256 bits de 1s e 0s, como:

0110101010101010110101010101

Ideally, eu gostaria de procurar por correspondências binárias próximas. Isso significa que, se os dois documentos tiverem os seguintes números. Sim, esta é a distância de Hamming.

Isto atualmente não é suportado no Mongo. Então, sou forçado a fazê-lo na camada de aplicação.

Portanto, estou tentando encontrar uma maneira de evitar comparações individuais da distância de Hamming entre os documentos. que torna o tempo para fazer isso basicamente impossível.

Tenho muita RAM. E, em ruby, parece haver uma grande gema (algoritmos) que pode criar várias árvores, nenhuma das quais eu pareço fazer um trabalho (ainda) que reduziria o número de consultas que eu precisaria fazer.

Ideally, eu gostaria de fazer 1 milhão de consultas, encontrar as seqüências quase duplicadas e poder atualizá-las para refletir iss

s pensamentos de qualquer um seriam apreciado

questionAnswers(4)

yourAnswerToTheQuestion