ЭТЛ. Извлечь, преобразовать, загрузить. Другими словами, извлеките данные из существующих баз данных, преобразуйте их (что означает нечто большее, чем просто их денормализация) и загрузите в SOLR. База данных SOLR будет намного меньше, чем существующие базы данных, потому что нет реляционных издержек. И поиск SOLR снимает большую часть нагрузки с ваших существующих серверов баз данных.
Внимательно изучите, как настроить и использовать SOLR, и узнайте о ядрах SOLR. Вы можете захотеть поместить некоторые языки в отдельные ядра, потому что таким образом вы сможете более эффективно использовать различные алгоритмы поиска корней в SOLR. Но даже с многоязычными данными вы все равно можете использовать биграммы (например, используемые при анализе китайского языка).
Наличие нескольких ядер немного усложняет поиск, поскольку вы можете попробовать либо индекс для одного языка, либо индекс для всех языков. Но гораздо эффективнее группировать языковые данные и применять специфичные для языка стоп-слова, защищенные слова, поиск корней и инструменты языкового анализа.
Обычно вы включаете некоторые ключевые данные в индекс, чтобы, когда вы находите запись с помощью поиска SOLR, вы могли ссылаться непосредственно на исходную базу данных. Кроме того, вы можете иметь нормализованные и ненормализованные данные вместе, например, перечисление может быть записано в нормализованном поле на английском языке, а также в ненормализованном поле на том же языке, что и свободный текст. Поле можно продублировать, чтобы применить два разных анализа и фильтрации.
Было бы полезно попробовать это с подмножеством ваших данных, чтобы узнать, как работает SOLR и как лучше всего его настроить.
person
Michael Dillon
schedule
04.08.2011