В настоящее время я думаю, как лучше сохранить результаты сканирования в базе данных.В другом вопросе документ-ориентированные базы данных было рекомендовано использовать для проекта веб-сканера: База данных для веб-сканера в python?
Теперь мне интересно, является ли карта / сокращение правильным способом длятакая классификация и генерация стоимости.По крайней мере, кажется, что он может делать такие вещи (отображать только для классификации, например, годы или авторов, и отображать / уменьшать для вычисления числовых значений, которые я не могу представить в качестве примера на данный момент).
Однако, будетmap-Reduce / DocumentStores также сможет дать мне правильные документы для данного слова?В реляционной базе данных мне пришлось бы использовать JOIN для некоторых таблиц, а затем получить документы, содержащие следующие слова:
SELECT * FROM docs d
JOIN doc_words dw ON dw.doc_id = d.id
JOIN words w ON dw.word_id = w.id
WHERE w.word = 'foo'
Я думаю, что DocumentStores не способны к такой операции, поскольку они не поддерживают полнотекстовый индекс ине должно иметь много ссылок / отношений.
Будет ли лучшая альтернатива смешивать несколько систем?Например, один для поиска по словам, другой для поиска по разным значениям, если он присутствует (например, год публикации, автор,…)?Я думаю, что хранилища DocumentStore не так уж и плохи для хранения метаданных, поскольку иногда существуют определенные значения, а иногда нет (и хранилища DocumentStore легко использовать на нескольких серверах, если это необходимо, если на одном сервере слишком много документов).Тем не менее, я не уверен, что будет лучшим способом реализовать поиск по коллекции документов (включая веб-страницы, PDF-файлы, изображения, которые всегда имеют разные метаданные, но часто также нуждаются в полнотекстовом индексе).
Задайте четкий вопрос: следует ли мне использовать другую систему баз данных вместе с DocumentStores, использовать только один DocumentStores (как быстро искать слова?) или только одну другую систему БД?
PS: еще одним примером такой проблемы может быть соединениемежду веб-страницами, которые также нельзя сохранить в DocumentStores.Тем не менее, OrientDB может решить эту проблему, поскольку он объединяет базу данных графов и базу данных, ориентированную на документы.