LinkedIn 收购了IndexTank,在收购的时候承诺开源IndexTank的技术,现在兑现了这个承诺,IndexTank引擎以Apache 2.0协议发布!IndexTank包含两部分:
indextank-engine: Indexing engine
indextank-service: API, BackOffice, Storefront, and Nebulizer
1. 什么是 IndexTank?
下面是网上的简介:
-
IndexEngine: 一套基于Java的索引-搜索引擎实现,支持的特性包括:variables (boosts), categories (facets), faceted search, snippeting, 自定义打分功能, 搜索建议和自动完成。IndexTank的设计分离了相关性标记和文档内容,因为相关性标记的生命周期和文档本身是不一样的,特别是在用户创建的内容的情况下,例如 分享次数,Like按钮,+1按钮等等。
-
API: 支持REST的接口,处理同IndexEngine的认证,验证,交互工作。它可以让IndexTank的用户用HTTP的方式访问不同技术平台的服务,例如Java,PHP,.NET等等。
-
Nebulizer: 多宿主框架可以管理不限数量的索引。这个框架基于Infrastructure-as-a-Service,可以根据需要给不同的索引分配不同的资源。
2. Indexing engine简单安装过程
(其实就是readme.md)
从 https://github.com/linkedin/indextank-engine 使用git下载。 (得先安装git 和 maven)
在命令行下执行maven编译:
$ mvn package assembly:single
会在target目录下生成indextank-engine-1.0.0.jar 和 indextank-engine-1.0.0-jar-with-dependencies.jar
编译过程中会自动从网上下载依赖的包。
编译成功后,执行程序 (com.flaptor.indextank.api.Launcher是MainClass)
API server 会监听 20220端口. 启动时需要根目录下的sample-engine-config 文件,该文件可以修改端口。
$ java -cp target/indextank-engine-1.0.0-jar-with-dependencies.jar com.flaptor.indextank.api.Launcher
添加数据建立索引(使用curl发送了两条json数据)
$ curl -d "{\"docid\":\"post1\", \"fields\":{\"text\":\"I love Fallout\"}}" -v -X PUT http://localhost:20220/v1/indexes/idx/docs
$ curl -d "{\"docid\":\"post2\", \"fields\":{\"text\":\"I love Planescape\"}}" -v -X PUT http://localhost:20220/v1/indexes/idx/docs
检索关键词 love:
$ curl http://localhost:20220/v1/indexes/idx/search?q=love
可以看到结果:
{"matches":2,"results":[{"docid":"post2","query_relevance_score":-2350.0},{"docid":"post1","query_relevance_score":-2403.0}],"query":"love","facets":{},"search_time":"0.000"}
其它的它支持云搜索啥的,具体细节得慢慢研究了
PS: 突然想到 这个开源了,对sensei有啥影响,John Wang 在群组里说的:
对sensei没啥影响,在集成,敬请期待。。。
- 大小: 15.9 KB
- 大小: 25.2 KB
分享到:
相关推荐
LinkedIn 开源的`Bluepill`框架是一款专为iOS应用设计的高效自动化测试工具,旨在提升测试效率,尤其适合进行多开模拟器的测试场景。`Bluepill`这个名字来源于电影《黑客帝国》中的概念,它允许用户在一个主机上并行...
LinkedIn Spider 是一个开源项目,专为爬取LinkedIn网站上的公开信息而设计,特别是针对特定公司的员工资料。这个爬虫能够帮助研究人员、数据分析师或者招聘人员批量获取与指定公司相关的LinkedIn用户资料,以便进行...
然后在项目中安装该库,通常通过npm(Node Package Manager)来完成,命令行输入`npm install node-linkedin`即可。接下来,你可以按照库的文档指引,设置认证参数,进行OAuth 2.0授权流程,获取访问令牌,从而实现...
利用社交媒体平台进行推广,将网站内容分享到Facebook、Twitter、LinkedIn等社交网络,引导用户访问网站,同时提高搜索引擎对网站的评价。 六、数据分析与调整 借助Google Analytics等工具,持续跟踪网站流量、用户...
LinkedIn开源了其低延时变化数据捕获系统Databus,该系统可以在MySQL以及Oracle数据源上捕获数据,当下LinkedIn只开源了Oracle上的连接器。Databus作为LinkedIn生态系统中的一致性保障组件,在低延时的情况下仍然...
**Passport-LinkedIn-OAuth2** 是一个专为前端开发者设计的开源库,它使得在Web应用程序中集成LinkedIn的身份验证过程变得更为简单。这个库是基于 **Passport** 框架,一个广泛使用的Node.js中间件,用于处理身份...
LinkedIn接口API调用实例是一个关于如何与LinkedIn的开发平台交互的实际应用示例。LinkedIn API允许开发者访问LinkedIn的数据,包括用户信息、公司数据、职位发布等,以便构建与LinkedIn相关的应用程序和服务。下面...
总结来说,`linkedin_scraper`是一个用于LinkedIn数据抓取的Python库,用户可以通过PyPI进行下载和安装。尽管这个库本身并不直接与Zookeeper或云原生概念相关,但在实际的大型分布式系统中,类似的数据抓取工具可能...
本篇将深入探讨两款广泛应用的开源搜索引擎技术——Lucene和Solr,揭示它们的核心原理以及发展历程。 首先,Lucene是一个强大的全文索引库,由Doug Cutting于1999年开发,最初是一个Java程序。2001年,Lucene被捐赠...
同时,LinkedIn还开发了高效的数据处理和分析框架,比如Kafka,用于实现高吞吐量的数据传输,并且有如Presto这样的查询引擎,用于快速、实时的数据分析。 总结来说,LinkedIn的数据处理架构是一个复杂的系统,它不...
Schedulis工作流任务调度系统 - 基于LinkedIn Azkaban开源项目开发,包含1238个文件,如JAVA、JS、PNG、VM、PROPERTIES、SQL、XML、SH、JSON和CSS等。该系统由微众银行开发,旨在解决金融级场景下大量批量作业任务的...
【互联网上的主要搜索引擎系统与查询方法】 随着互联网的迅速发展,搜索引擎成为了获取信息的重要工具。本文将探讨几个主要的国外互联网搜索引擎系统以及它们的查询和检索方法,旨在帮助用户更高效地利用网络资源。...
LinkedIn API for PHP是一个用于与LinkedIn平台进行数据交互的PHP库,它允许开发者通过编程方式访问LinkedIn的公开或授权用户的数据,如个人资料、职位、公司信息等。在使用这个API时,开发者可以创建各种应用程序,...
Samza是由LinkedIn开源的一个分布式流处理系统。近日,LinkedIn资深SREJonBringhurst发表了一篇博文,揭秘LinkedIn是如何利用Samza与Yarn、Kafka进行扩展的。Samza是由LinkedIn开源的一个分布式流处理系统,与之配合...
搜索引擎优化(SEO)是提升网站在搜索引擎结果页中排名的关键策略,对于电子商务网站尤其重要,因为高排名可以带来更多的曝光和潜在客户。以下是一些新兴的SEO手段,结合实例进行说明,以帮助提高搜索引擎排名,包括...
Schedulis 是一个基于 LinkedIn 的开源项目 Azkaban 开发的工作流任务调度系统。该调度系统具备高性能,高可用(去中心化多调度中心和多执行器)和多租户资源隔离等金融级特性;现已被集成到数据应用开发门户 ...
LayoutKit 是 LinkedIn 开源的一款高性能的视图布局库,它为 iOS、macOS 和 tvOS 平台提供了高效且易用的解决方案。这个库的主要目标是简化复杂的 UI 布局任务,提升应用的性能,并减少开发者的代码量。下面我们将...
LinkedIn是一个以商业和职业网络为导向的社交平台,拥有超过1.16亿的用户,它提供了一个让人们能够专业地建立人际网络、发布和寻找工作、回答问题以及塑造思想领导力的环境。通过LinkedIn,用户可以发现某家企业雇用...
4. **SNS搜索引擎**:利用社交媒体平台增强网站的可见性,如Facebook、Twitter和LinkedIn等。 总结来说,SEO是一个涉及多方面策略的复杂过程,需要持续关注搜索引擎算法的变化,不断调整优化策略以保持网站的竞争力...