如何将YaCy配置为替代搜索引擎或站点搜索工具
介绍
许多人理所当然地担心他们的个人信息和隐私受到大公司的控制。 尽管有许多不同的项目旨在让用户收回其数据的所有权,但仍有一些普通计算领域的用户难以摆脱业务控制的产品。
搜索引擎是许多注重隐私的人抱怨的领域之一。 YaCy 是一个旨在解决搜索引擎提供商将您的数据用于您不希望的目的的问题的项目。 YaCy 是一个点对点搜索引擎,这意味着没有中央机构或服务器来存储您的信息。 它通过连接到运行 YaCy 实例的人网络并爬网以创建站点的分布式索引来工作。
在本指南中,我们将讨论如何在 Ubuntu 12.04 VPS 实例上开始使用 YaCy。 然后,您可以使用它来为全球搜索同行网络做出贡献,或者为您自己的页面和项目创建搜索索引。
下载组件
YaCy 在包之外几乎没有依赖项。 现代 Linux 发行版几乎唯一需要的东西应该是开放的 Java 开发工具包版本 6。
我们可以通过键入以下命令从默认的 Ubuntu 存储库中获取它:
sudo apt-get update sudo apt-get install openjdk-6-jdk
这将需要一些时间来下载所有必要的组件。
完成后,您可以从 项目的网站 获取最新版本的 YaCy。 在右侧,右键单击或控制单击 GNU/Linux 的链接并选择复制链接位置:
回到你的 VPS,切换到用户的主目录并使用 wget 下载程序:
cd ~ wget http://yacy.net/release/yacy_v1.68_20140209_9000.tar.gz
下载完成后,您可以将文件解压缩到其自己的目录中:
tar xzvf yacy*
我们现在拥有运行我们自己的搜索引擎所需的所有组件。
启动 YaCy 搜索引擎
我们几乎准备好开始使用 YaCy 搜索引擎了。 在开始之前,我们需要调整一个参数。
切换到 YaCy 目录。 从这里,我们将能够进行必要的更改,然后启动服务:
cd ~/yacy
我们需要将管理员用户名和密码组合添加到文件中,以便我们可以浏览整个界面。 使用文本编辑器打开 YaCy 默认初始化文件:
nano defaults/yacy.init
这是一个很长的配置文件,注释很好。 我们正在寻找的参数称为 adminAccount
。
搜索 adminAccount
参数。 您将看到它当前未设置:
adminAccount= adminAccountBase64MD5= adminAccountUserName=admin
您需要按以下格式设置管理员帐户和密码:
adminAccount=admin: your_password adminAccountBase64MD5= adminAccountUserName=admin
这将允许您在启动服务后登录 Web 界面的管理部分。
保存并关闭文件。
准备好后,输入以下命令启动服务:
./startYACY.sh
这将启动 YaCy 搜索引擎。
访问 YaCy Web 界面
我们现在可以通过使用您的网络浏览器导航到此页面来访问我们的搜索引擎:
http:// server_ip :8090
您应该看到主要的 YaCy 搜索页面:
如您所见,这是一个非常传统的搜索引擎页面。 如果您愿意,可以使用提供的搜索栏进行搜索,无需任何额外配置。
不过,我们将探索管理界面,因为这为我们提供了更多的灵活性。 点击页面左上角的“管理”链接:
您将被带到基本配置页面:
这将介绍您可能希望立即设置的一些常见选项。
首先,它询问语言偏好。 如果列出的其他语言之一更适合您的使用,请更改此设置。
第二个问题决定了你想如何使用这个 YaCy 实例。 默认配置是使用您的计算机加入对网络进行爬网和索引的全球搜索网络。 这就是基于对等的搜索操作以取代传统搜索引擎的方式。
这将帮助您与同行一起提供出色的搜索资源,并允许您利用其他人已经开始的工作。
如果您不想将 YaCy 用作传统搜索引擎,则可以选择通过选择第二个选项为单个站点创建搜索门户,或者通过选择第三个选项使用它来索引本地网络。
现在,我们将选择第一个选项。
第三个设置是为此计算机创建一个唯一的对等名称。 如果您有多个运行 YaCy 的服务器,如果您想单独与它们对等,这一点变得越来越重要。 无论哪种方式,请在此处选择一个唯一名称。
对于第四部分,取消选择“为 YaCy 配置路由器”,因为我们的搜索引擎安装在不在传统路由器后面的 VPS 上。
完成后单击“设置配置”。
爬取网站为全球索引做出贡献
您现在可以使用保存在 YaCy 对等节点上的索引进行搜索。 参与系统的人越多,搜索结果就越准确。
我们可以通过在我们的 YaCy 实例上爬取站点来做出贡献,以便其他同行可以找到我们爬取的页面。
要开始此过程,请单击左侧“索引生产”部分下的“Crawler / Harvester”链接。
如果您尝试搜索某些内容但没有得到您要查找的结果,请考虑开始使用您的实例为站点上的页面编制索引。 这将使您的搜索对您自己和您的同行更加准确。
在“起始 URL”部分中输入您要编入索引的 URL:
这应该填充 YaCy 在相关 URL 上找到的链接列表。 您可以选择您输入的原始 URL,也可以选择使用您输入的页面中的链接列表。
此外,您可以选择是否要为域内的任何链接编制索引,或者您是否只想为给定 URL 的子路径编制索引。
不同之处在于,如果您输入 http://example.com/about
,第一个选项将索引 http://example.com/sites
,而第二个选项将仅索引位于输入路径下方的页面 (http://example.com/about/me
)。
您可以限制爬网将索引的文档数量。 完成后单击“开始新抓取”以开始抓取所选站点。
单击左侧的“创建监视器”链接以查看索引的进度。 您应该看到如下内容:
您的服务器将以每秒 2 个请求的速率抓取指定的 URL,直到它用完链接在一起的链接或达到您设置的限制。
如果您随后搜索与您的爬网相关的页面,则您编入索引的结果应该对结果有所贡献。
将 YaCy 用于您的网站
YaCy 可用于的一件事是为您的网站提供搜索功能。 您可以将站点索引配置为仅限于您的域的搜索引擎。
首先,在左侧的“Peer Control”部分下选择“Admin Console”。 在管理控制台中,返回“基本配置”页面。
这次,对于第二个问题,选择“搜索您自己的网页的门户”:
点击底部的“设置配置”。
接下来,您需要抓取您的域以生成可通过您的搜索工具获得的内容。 再次单击左侧“索引生产”部分下的“Crawler / Harvester”链接。
在“起始 URL”字段中输入您的 URL。 选择选项后,单击“开始新抓取”:
接下来,单击左侧“搜索设计”部分下的“搜索集成到外部站点”链接。
有两种不同的方式来配置 YaCy 搜索。 我们将使用第二个,称为“通过选定的 YaCy Peer 进行远程访问”。
您将看到 YaCy 自动生成您需要嵌入到您网站的网页中的代码:
在您的网站上,您需要创建一个包含此代码的页面。 您可能需要调整 IP 地址和端口以匹配安装了 YaCy 的服务器的配置。
对于我的站点,我在服务器的文档根目录中创建了一个 search.html
页面。 我做了一个简单的 html 页面,并包含了 YaCy 生成的代码:
测试搜索页面开始了… http://111.111.111.111:8090/jquery/js/jquery-1.7.min.js</a>” type=“text/javascript” type=“text/javascript”></span> <span class=“highlight”> $(document).ready(function() {</span> <span class=“highlight”> yconf = {</span> <span class=“highlight”> url : ‘<a href="http://111.111.111.111:8090">http://111.111.111.111:8090</a>’,</span> <span class=“highlight”> title : ‘YaCy Search Widget’,</span> <span class=“highlight”> logo : ‘/yacy/ui/img/yacy-logo.png’,</span> <span class=“highlight”> link : ‘<a href="http://www.yacy.net">http://www.yacy.net</a>’,</span> <span class=“highlight”> global : false,</span> <span class=“highlight”> width : 500,</span> <span class=“highlight”> height : 600,</span> <span class=“highlight”> position : [‘top’,30],</span> <span class=“highlight”> theme : ‘start’</span> <span class=“highlight”> };</span> <span class=“highlight”> $.getScript(yconf.url+‘/portalsearch/yacy-portalsearch.js’, function(){});</span> <span class=“highlight”> });</span> <span class=“highlight”> http://111.111.111.111:8090/yacysearch.html ”>实时搜索
然后,您可以保存文件并通过 Web 浏览器访问它,方法是:
http:// your_web_domain /search.html
我的页面如下所示:
当您输入术语时,您应该会在您的域中看到与查询相关的页面:
结论
您可以通过多种方式使用 YaCy。 如果您希望为全球索引做出贡献,以便为公司维护的搜索引擎创建一个可行的替代方案,您可以轻松地抓取网站并让您的服务器成为其他用户的对等点。
如果您的网站需要一个出色的搜索引擎,YaCy 也提供了该选项。 YaCy 非常灵活,是解决隐私问题的有趣解决方案。