如何运行属于你的IPFS搜索引擎
Lens是分布式Web的搜索引擎,是一个开源IPFS工具,允许从IPFS获取内容,并将其编入索引以便日后搜索。目前Lens可以索引以下mime类型:其中的一个要求就是所有数据都存在IPFS上,并且可由正在运行的Lens实例发现。将来我们可能会增加对其他分布式网络的支持,例如DAT或SWARM。为了与Lens交互,我们有一个简单但强大的gRPCAPI,支持简单和复杂的查询。
text/*
image/*
application/pdf
索引如何运行
我们有几种不同的方法来分析我们将链接在一起的数据。当给定PDF时,我们首先尝试从页面中提取图像和文本。该文本提供给bleve,它能够处理简单和复杂的搜索查询。还使用Tesseract进行光学字符识别以提取可搜索文本,并使用Tensorflow进行图像的基本分类,对图像进行分析。在分析其他mime类型(如image/ *)时,我们尝试执行相同的Tesseract和图像分类分析,就像我们从PDF中提取的图像一样。在分析像text/ *这样的mime类型时,我们直接将文本提供给bleve。
搜索如何进行
搜索最起码包括查询,从区块链之类的单个单词,到区块链数据存储之类的搜索短语。我们还支持更复杂的查询,例如针对特定标签,类别,mime类型等进行筛选,但这些查询完全是可选的。
响应查询的是一个文档数组,其中包含与您的查询匹配的内容的IPFS哈希值,内容的mimetype,以及显示此内容与您的搜索查询的相关性的匹配分数。
安装Lens
您可以通过几种不同的方式安装镜头,最简单的方法是使用我们预先搭建的Lensdocker镜像。使用docker镜像时,默认设置是启动gRPC服务器监听0.0.0.0:9998,没有任何加密,并使用ghPC身份验证密钥blahblahblah。docker容器还需要连接到IPFSHTTP API,默认值为127.0.0.1:5001。要安装此docker镜像,请运行以下命令dockerpull rtradetech / lens:latest
或者对于那些想要更多移动设置的人来说,我们有一个docker-compose设置,它也可以运行所需的IPFS节点。要使用此docker-compose文件,需要运行以下命令集。这些将使用/tmp目录作为存储所有文件的基本目录。
$> wget -O lens.yml https://raw.githubusercontent.com/RTradeLtd/Lens/master/lens.yml
$> LENS=latest BASE=/tmp docker-compose -f lens.yml up
使用Lens
在我们开始介绍如何使用Lens之前,我们已经发布了现有的Lens索引,如https://temporal.cloud/lens所见,可通过IPFS下载,可以通过CIDQmZqSYDQrtWg4LHnqT6DPqa1XUr7u430aGcyaTiGHJY3SR下载。它的大小为1.2GB,包含各种研究论文,加密白皮书,我已提交,当然也有其他用户提交的文件。
所有索引和搜索都可以通过gRPCAPI完成,我们已经在github上发布了协议缓冲区。您可以使用支持协议缓冲区的任何语言为Lens构建API!
中国观察