Двоичная строка, как здесь определено, представляет собой «массив» битов фиксированного размера. Я называю их строками, поскольку в них нет порядка (сортировка / индексация, поскольку числа не имеют значения), каждый бит не зависит от других. Каждая такая строка имеет длину N бит, причем N исчисляется сотнями.
Мне нужно сохранить эти строки и задать новый запрос двоичной строки для ближайшего соседа, используя расстояние Хэмминга в качестве метрики расстояния.
Существуют специализированные структуры данных (метрические деревья) для поиска на основе метрик (VP-деревья, cover-tree, M-tree), но мне нужно использовать обычную базу данных (в моем случае MongoDB).
Есть ли какая-то функция индексации, которая может быть применена к двоичным строкам, которая может помочь БД получить доступ только к подмножеству записей перед выполнением однозначного сопоставления расстояния Хэмминга? В качестве альтернативы, как можно было бы реализовать такой поиск на основе Хэмминга в стандартной БД?