在C ++中用于垂直搜索的分布式大规模数据引擎。
灵活配置。 SF1R可以高度配置,以支持分布式或非分布的搜索引擎。对于亚洲语言,也可以应用各种形式的形态分析仪或专用令牌仪,以适应不同的情况。每个SF1R实例都可以配置为支持多个集合,而收集概念可以与RDBMS中的“表”进行比较。收集可以完全动态地管理,而无需停止服务器实例。
商业证明。 SF1R在具有复杂情况和超高并发状态的商业环境下得到了充分的证明。为了满足不同种类的要求,SF1R中支持三种索引,包括基于文件的倒置索引,基于纯记忆的倒置索引,具有超高减压性能和简洁的自我索引。这是针对具有分布式和非分布的垂直领域的搜索云的实用部署,所有这些都位于基于NGINX的HTTP反向代理后面,以提供统一的条目。
采矿组件可扩展。在SF1R的早期阶段,有数十个采矿组件,例如duplicate detection , taxonomy generation , query recommendation , collaborative filtering ,...等。为了使存储库尽可能淡,我们进行了一些改进以删除大多数采矿组件。但是,SF1R的体系结构保证了介绍其中任何一个的灵活性,实际上是索引之一---简洁的自索引,它是使用采矿组件封装的,以便便利。
我们还可以在这里访问中国文件,同时我们还准备了英语技术报告。
我们最近刚刚切换到SF1R的C++ 11 ,相应地构建SF1R需要GCC 4.8 。由于许多库之间的参考文献,我们不建议将Ubuntu用于项目构建。 Centos / redhat / gentoo / coreos是首选平台。您还需要CMake和Boost 1.56来构建存储库。在这里,是依赖的存储库列表:
CMAKE :构建所有Izenecloud C ++项目所需的CMAKE模块。
Izenelib :通用C ++库。
ICMA :中国形态分析仪库。
IJMA :日本形态分析仪库。
ILPLIB :语言处理库。
IDMLIB :数据挖掘库。
此外,需要一些第三方存储库:
Tokyocabinet :很少使用Tokyocabinet键值库,但是我们有一个统一的访问方法封装。
Google Glog :Google提供的记录库。
节俭:这是可选的,如果您想让SF1R能够连接到Cassandra,则需要节俭,并且我们已经准备了Izenelib的C ++ Cassandra客户端。
此外,还有两个额外的项目:
NGINX :SF1R的基于NGINX的反向代理。这是第一个能够与Zookeeper连接以了解SF1R节点拓扑的项目。
Ruby驱动程序:SF1R的Ruby客户端,还包含用于测试目的的Web API发件人。
要使用SF1R,您应该在config目录中具有配置文件。在那之后:
$ cd bin
$ ./CobraProcess -F config请参阅文件以获取进一步的使用。
SF1R项目由Apache许可证发布,版本2.0:http://www.apache.org/licenses/license-2.0