Правильное хранение для большого реляционного набора данных - PullRequest
0 голосов
/ 22 сентября 2011

Мне нужно хранить большой набор того, что, по моему мнению (хотя я привык к SQL), реляционных данных.В основном рассмотрите возможность хранения большого подмножества ClueWeb (4 ТБ).Есть документы, предложения и извлечения - а также свойства каждого.Основной вариант использования - выполнение полнотекстового поиска по извлечениям.

Выполнение полнотекстового поиска по извлечениям легко и эффективно реализуется с помощью Lucene.Однако семантически извлечения являются частями предложений, которые являются частями документов.Предложения и документы также имеют свои собственные атрибуты, но когда я сохраняю свои извлечения в Lucene, предложения и документы должны быть свойствами извлечений.

Существует ли хороший механизм базы данных, который позволяет выполнять полнотекстовый поиск по извлечениям, но такжереляционная структура, чтобы я мог легко хранить свойства предложений и документов?Или есть способ сохранить эти данные в Lucene, который я не понимаю?

1 Ответ

0 голосов
/ 29 сентября 2011

Вы можете легко индексировать отношения как значения полей в Lucene.Что вы не можете сделать, это выполнять запросы с объединениями.Но если вы просто хотите перейти вверх или вниз или получить списки всех извлечений в предложении или документе, вы можете легко это сделать, если индексировать правильные ключи.Место, где вы столкнетесь с проблемами, - это запросы типа: «все документы с заголовком имеют слово« foobar », где одно из их предложений содержит слово« bletch ». Даже это можно преодолеть, если вы денормализуете, т.е. копируете данные вв обоих местах. Но для индекса 4 ТБ вы, возможно, не захотите этого делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...