Распределенный массивный механизм данных для вертикального поиска в C ++.
Гибкая конфигурация . SF1R может быть высоко настраиваемая для поддержки распределенной или не распределенной поисковой системы. Для азиатских языков можно применить различные виды морфлогического анализатора или посвященного токенизатора, чтобы быть адаптированным к различным ситуациям. Каждый экземпляр SF1R может быть настроен для поддержки нескольких коллекций, в то время как концепция сбора можно сравнить с «таблицей» в RDBMS . Коллекции могли полностью динамически управляться, не останавливая экземпляр сервера.
Коммерчески доказано . SF1R был полностью доказан в коммерческой среде с сложными ситуациями и сверхвысокой параллелизмом. Чтобы удовлетворить различные виды требований, в SF1R поддерживаются три вида индексов, включая индекс на основе файла на основе файла, инвертированный индекс на основе чистой памяти с сверхвысокой производительности декомпрессии и индекс Suckint Self. Это практическое развертывание для поискового облака с распределенными и не распределенными вертикалями, все они стоит за одним обратным прокси на основе NGINX для обеспечения унифицированного входа.
Компоненты горнодобывания расширяются . На ранней стадии SF1R прилагаются десятки добыча полезных ископаемых, такие как duplicate detection , taxonomy generation , query recommendation , collaborative filtering , ... и т. Д. Чтобы сохранить репозиторий как можно более лайт, мы сделали некоторые усовершенствования, чтобы удалить большинство компонентов добычи. Тем не менее, архитектура SF1R гарантировала гибкость для того, чтобы ввести любой из них, на самом деле, один из индекса-кратковременного самостоятельного индекса, он был инкапсулирован с использованием добычи для удобств.
К китайскому документам можно было бы получить доступ здесь, в то время как мы также подготовили английский технический отчет.
Мы только что перешли на C++ 11 для SF1R в последнее время, и GCC 4.8 необходим для соответствующего построения SF1R. Мы не рекомендуем использовать Ubuntu для строительства проекта из -за вложенных ссылок на множество библиотек. Centos / Redhat / Gentoo / Coreos являются предпочтительной платформой. Вам также нужен CMake и Boost 1.56 чтобы построить репозиторий. Вот и зависимые репозитории:
Cmake : модули Cmake, необходимые для создания всех проектов izenecloud C ++.
Izenelib : библиотеки C ++ общего назначения.
ICMA : Китайская библиотека морфологического анализатора.
IJMA : Японская библиотека морфологического анализатора.
Ilplib : библиотеки обработки языка.
Idmlib : библиотеки добычи данных.
Кроме того, требуются некоторые сторонние репозиторы:
Tokyocabinet : библиотека ключей токикабинета редко используется, но у нас была инкапсуляция метода единого доступа.
Google Glog : библиотека журналов, предоставленная Google.
Thrift : Это необязательно, если вы хотите, чтобы SF1R мог подключиться к Cassandra, требуется комиссия, и мы подготовили клиента C ++ Cassandra в Изенелибе.
Кроме того, есть два дополнительных проекта:
NGINX : обратный прокси на основе NGINX для SF1R. Это первый проект Nginx, который сможет соединиться с Zookeeper, чтобы узнать о топологии узла SF1R.
Драйвер Ruby : клиент Ruby для SF1R, также содержит отправитель веб -API для тестирования.
Чтобы использовать SF1R, у вас должны быть файлы конфигурации, расположенные в каталоге config . После этого:
$ cd bin
$ ./CobraProcess -F configПожалуйста, посмотрите документы для дальнейшего использования.
Проект SF1R опубликован по лицензии Apache, версия 2.0: http://www.apache.org/licenses/license-2.0