LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 如何构建属于自己的IPFS搜索引擎?

如何构建属于自己的IPFS搜索引擎?

2020-04-05 Filecoin社区 来源:火星财经

我在前面的分享中曾经介绍过一些IPFS搜索引擎,这些搜索引擎和我们在互联网中常用的搜索引擎不同,它的搜索范围仅限于搜索存储在IPFS系统中的文件。

今天我给大家介绍一种构建IPFS搜索引擎的方法。

一、要构建自己的搜索引擎,需要用到一款小工具---Lens。

Lens是一个开源工具,它能让用户从IPFS获取内容,并对所获取的内容进行索引,内容被索引后就可以被搜索了。

现阶段Lens可以对下面的“mime-type”类型文件进行索引:

-text/*

-image/*

-application/pdf

Lens对内容进行索引有一个要求,就是这些内容必须存在IPFS上,并能被Lens发现。未来Lens还将加入对其它去中心化存储网络(比如DAT和SWARM)的支持。要调用Lens,我们还需要一个好用的小工具gRPC API。这个API能处理各类查询请求。

二、我们先看看Lens中的索引是如何工作的?

我们以PDF文件为例,系统会先抽取PDF文件中的图片和文字。其中文字被输入到一个名为bleve的工具,它处理查询请求;图片会被送到一个名为Tesseract的工具进行处理和分析,并进行分类。

对image/*类型的图片信息,系统也会用Tesseract工具进行处理,分析和分类。

对text/*类型的文本信息,系统会用bleve工具进行处理。

三、Lens中的搜索是如何工作的呢?

搜索的基本功能包括抽取查询请求,并分析查询请求的内容。这里分析查询请求的内容指的是从一个单词开始直到分析整个查询语句。

比如对“blockchain data storage”这个查询请求,它会先解析“blockchain”然后逐字逐句直到解析完整个“blockchain data storage”。

Lens系统也支持复杂的查询请求,以及对特定标签,类别,mime type等的过滤。

Lens对查询请求进行处理后,会返回一系列搜索结果。这些结果每个都包含一个文件、文件的IPFS哈希值以及一个匹配分值。其中的文件是系统认为其内容可能匹配查询请求的,匹配分值是系统衡量该文件内容与查询请求匹配度所打的分数。

四、下面我们介绍安装Lens的步骤。

安装Lens的方法很多,最简单的方法是用我们预先编译好的Lens docker image文件。这个文件默认会启动gRPC服务器,并监听0.0.0.0:9998。我们可以在命令行工具中运行下列命令安装docker image:

docker pull rtradetech/lens:latest

安装完后,我们就可以开始使用Lens了。

在使用前,我们建议用户看一看我们公布的Lens所支持的索引,这些索引可以用下面这个哈希值从IPFS下载:

QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR

这个文件有1.2GB,包含了相关的研究论文,数字货币白皮书等。

所有的索引和搜索都用gRPC API来处理,gRPC API协议的源码可以参看:

https://github.com/RTradeLtd/grpc/tree/master/lensv2

用户可以用这些协议源码构建自己的API来调用Lens的功能。

当用户启动了自己的gRPC客户端后,运行“Index”命令就可以让Lens开始文件的索引工作了。

Lens在对文件进行索引时,由于文件所处地理位置的不同,因此所需的时间也可能不同。一般说来,如果索引的文件就在附近,不到30秒就能完成。

进行索引时,用户需要填入两个参数:ObjectType和ObjectIdentifier。

ObjectType是gRPC协议中定义的IndexReq_IPLD。ObjectIdentifier是用户希望被索引的文件的IPFS哈希值。

索引完之后,搜索就非常简单了。执行“Search”命令即可。执行这个命令用户只需要填入“Query”参数即可。这个参数定义用户希望如何搜索。

用户还可以用一些选项对搜索结果进行过滤,比如可以用“Hashes”选项让搜索只搜索该“Hashes”值对应的文件,用“MimeTypes”选项让搜索只搜索该mime types对应的文件。

现在我们自己构建的IPFS引擎就大功告成了。

我是IPFS/Filecoin社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/Filecoin是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/Filecoin爱好者建设一个共赢的学习社区。

本文来源:Filecoin社区
原文标题:如何构建属于自己的IPFS搜索引擎?

—-

编译者/作者:Filecoin社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...