У меня есть база данных в следующем синтаксисе:
{_id:'342', values:{ A: '432', B: 'asdf', C: '23', D: 'gg'}}
{_id:'343', values:{ A: 's', B: 'fsd', C: 'as', D: '4'}}
{_id:'344', values:{ A: 'f', B: 'f', C: 'af', D: '32'}}
{_id:'345', values:{ A: 'f', B: 'f', C: '333', D: 'adf'}}
Учитывая набор значений для A, B, C, D - я хочу найти документ, который имеет наибольшее сходство.
, например
Учитывая, {значения: {A: 'f', B: 'f', C: '333', D: '832'}} это будет соответствовать _id: 345, потому что у него есть совпадения A, B и C ,
Я хочу получить результаты, которые наиболее похожи на мои значения.
Есть ли запрос / алгоритм, который мог бы выполнить это быстро?
Примечание: не был уверен, как озаглавить это, если у вас есть лучшее название, не стесняйтесь редактировать его.