Как сравнить миллионы разрозненных документов наasticsearch? - PullRequest
0 голосов
/ 25 марта 2019

У меня есть много документов с полем с минусхэдом (на основе сходства содержимого), хранящихся в эластичном поиске. Теперь я бы сравнил их все друг с другом, чтобы получить похожие (хэш) документы, с API Elasticsearch, но я не могу сделать нечеткий запрос, потому что он позволяет редактировать только расстояние 2 и поэтому бесполезен.

Я также ищу возможную реализацию Node.js, если это невозможно сделать в Elasticsearch. Мой первый подход состоял в том, чтобы получить все идентификаторы и minhash-значения (= шестнадцатеричные строки) для каждого документа в Elasticsearch, затем сохранить их в массиве и отсортировать по лексикографическому порядку. Тогда мне нужно будет только сравнить k-документы ближайшего соседа на основе расстояния редактирования, а не

n*(n-1)/2 сравнений, поэтому я получу только n*k сравнений. Что вы думаете об этом подходе?

...