【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

本文由IPFS原力区收集译制,版权所属原作者

【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

Lens是我们Temporal umbrella下的另一个开源IPFS工具,它允许IPFS中提取内容,并将其编入索引,以便日后搜索。目前Lens可以索引以下mime类型:

  • 文本/*

  • 图像/*

  • 应用程序/ pdf

 

一个要求是所有数据都存在于IPFS上,并且可以由正在运行的Lens实例发现。在未来,我们可能会增加对其他分布式网络的支持,如DAT或SWARM。为了与Lens交互,我们有一个简单但健壮的gRPC API,它支持简单和复杂的查询。

 

索引是如何工作的

 

我们有几种不同的分析数据的方法,我们将把它们串联起来。当索引pdf文件时,我们首先尝试从页面中提取图像和文本。文本被输入bleve,它能够处理简单和复杂的搜索查询。同时,结合用于光学字符识别的Tesseract和用于图像初步分类的Tensorflow,对图像进行了分析。在分析其他mime类型(如image/*)时,我们尝试执行与从pdf中提取的图像相同的Tesseract和图像分类分析。当分析像text/*这样的mime类型时,我们直接将文本输入bleve。

 

搜索是如何工作的

 

在最基本的级别上进行搜索包括接受查询,范围从单个单词(如区块链)一直到搜索短语(如区块链数据存储)。我们还支持更复杂的查询,比如针对特定标记、类别、mime类型进行过滤,等等,这些都是完全可选的。

 

对查询的响应是一个文档数组,其中包含匹配查询的内容的IPFS散列,及内容的mimetype,以及显示该内容与搜索查询相关性的分数。

 

【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

安装Lens

 

有几种不同的方法可以安装镜头,其中最简单的方法是使用我们预先构建的Lens docker映像使用docker映像时,默认设置是启动gRPC服务器监听0.0.0.0:9998,不进行任何加密,并使用blahblahblahgRPC身份验证密钥。docker容器还需要到IPFS HTTP API的连接,缺省值为127.0.0.1:5001。要安装这个docker映像,运行以下命令docker pull rtradetech/lens:latest

 

另外,对于更多那些想要手动设置的人,我们有一个docker-compose设置,它还可以转换所需的IPFS节点。要使用这个docker-compose文件,需要运行以下命令集。它们将使用/tmp目录作为存储所有文件的基本目录。

【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」Lens   在开始介绍如何使用Lens之前,我们已经发布了现有的Lens索引https://temporal.cloud/lens

通过IPFS可以通过CID QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR下载。它的大小为1.2GB,包含各种研究论文、加密白皮书和我提交的文档,以及其他用户提交的文档。

 

所有索引和搜索都可以通过gRPC API完成,为此我们在github上发布了协议缓冲区。使用这些,您可以为Lens构建支持协议缓冲区的任何语言的API !

 

关于我们如何使用这些协议缓冲区来构建临时的Lens API客户端,您可以查看我们下面的Golang示例:

 【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」 【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」 【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」 【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

要实际索引数据,一旦gRPC客户机启动并运行,所需要做的就是调用index命令,并让Lens发挥它的魔力根据内容在网络中的位置,这个过程可能会花费一些时间。一般来说,如果内容是本地可用的,那么索引分析不会花费超过一分钟,通常是30秒。在为索引提交数据时,必须提供两个参数ObjectType,它应该使用协议缓冲区中定义的IndexReq_IPLDas。第二个参数是ObjectIdentifier,它应该是希望索引的内容的IPFS散列。

 搜索数据也非常简单,需要调用Search命令。唯一需要的参数是Query,它定义了如何搜索数据。还可以选择性地过滤出的搜索结果,甚至更多的过滤器,如哈希表只匹配特定的IPFS哈希表,MimeTypes只匹配特定的mime类型。完成此命令所需的时间取决于多种因素,比如索引的大小、匹配对象的数量、索引所在磁盘的速度。

 

感谢,并向所有为IPFS做出贡献的人以及许多不同项目所做的所有伟大工作欢呼!

作者:RTrade

本文由IPFS中国社区编译,原文链接:https://medium.com/@rtradetech/run-your-own-ipfs-search-engine-with-lens-c262fd9e5cc

【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

IPFS原力区

Slogan:让存储更安全、更高效、更开放、更经济 价值观:价值 共建 共享 荣耀

总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。 每周二举办“分布式存储网络”主题沙龙,聚集了众多技术大咖和 IPFS 爱好者,通过持续输出全面、精细、优质的 IPFS 咨询和技术支持,将生态中的爱好者转化为 IPFS支持者和参与者,共建 IPFS 生态的健康发展。
【IPFS相关】使用Lens运行「你自己的IPFS搜索引擎」

原创文章,作者:IPFSforce,如若转载,请注明出处:http://ipfser.org/2019/05/25/%e3%80%90ipfs%e7%9b%b8%e5%85%b3%e3%80%91%e4%bd%bf%e7%94%a8lens%e8%bf%90%e8%a1%8c%e3%80%8c%e4%bd%a0%e8%87%aa%e5%b7%b1%e7%9a%84ipfs%e6%90%9c%e7%b4%a2%e5%bc%95%e6%93%8e%e3%80%8d/

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:ipfsforce@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code