如何在Ubuntu14.04上安装Solr5.2.1
与 Solr 合作编写
介绍
Solr 是一个基于 Apache Lucene 的搜索引擎平台。 它是用 Java 编写的,并使用 Lucene 库来实现索引。 可以使用各种 REST API 访问它,包括 XML 和 JSON。 这是他们网站上的功能列表:
- 高级全文搜索功能
- 针对高容量 Web 流量进行了优化
- 基于标准的开放接口 - XML、JSON 和 HTTP
- 全面的 HTML 管理界面
- 通过 JMX 公开的服务器统计信息用于监控
- 线性可扩展、自动索引复制、自动故障转移和恢复
- 近实时索引
- 灵活且可适应 XML 配置
- 可扩展插件架构
在本文中,我们将使用其二进制发行版安装 Solr。
先决条件
要遵循本教程,您将需要:
- 至少一个 1 GB Ubuntu 14.04 Droplet,但所需的 RAM 量 很大程度上取决于您的具体情况。
- 一个 sudo 非 root 用户 。
第 1 步 — 安装 Java
Solr 需要 Java,所以在这一步中,我们将安装它。
这篇文章 详细描述了完整的 Java 安装过程,但我们将使用稍微不同的过程。
首先,使用apt-get安装python-software-properties
:
sudo apt-get install python-software-properties
我们将安装最新版本的 Java 8,而不是使用 default-jdk
或 default-jre
包。 为此,请添加非官方的 Java 安装程序存储库:
sudo add-apt-repository ppa:webupd8team/java
您需要按 ENTER
接受将存储库添加到您的索引。
然后,更新源列表:
sudo apt-get update
最后,使用 apt-get 安装 Java 8。 您需要同意 Java SE 平台产品和 JavaFX 的 Oracle 二进制代码许可协议。
sudo apt-get install oracle-java8-installer
第 2 步 — 安装 Solr
在本节中,我们将安装 Solr 5.2.1。 我们将从下载 Solr 发行版开始。
首先,在这个页面找到合适的镜像。 然后,从镜像中复制solr-5.2.1.tgz
的链接。 例如,我们将使用 http://apache.mirror1.spango.com/lucene/solr/5.2.1/
。
然后,将文件下载到您的主目录中:
cd ~ wget http://apache.mirror1.spango.com/lucene/solr/5.2.1/solr-5.2.1.tgz
接下来,解压服务安装文件:
tar xzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh --strip-components=2
并使用脚本将 Solr 安装为服务:
sudo bash ./install_solr_service.sh solr-5.2.1.tgz
最后,检查服务器是否正在运行:
sudo service solr status
您应该看到一个以此开头的输出:
Solr 状态输出
Found 1 Solr nodes: Solr process 2750 running on port 8983 . . .
第三步——创建一个集合
在本节中,我们将创建一个简单的 Solr 集合。
Solr 可以有多个集合,但对于本示例,我们将只使用一个。 要创建新集合,请使用以下命令。 在这种情况下,我们以 Solr 用户身份运行它以避免任何权限错误。
sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
在此命令中,gettingstarted
是集合的名称,-n
指定配置集。 Solr 默认提供 3 个配置集; 在这种情况下,我们使用了无模式的,这意味着可以提供任何字段,具有任何名称,并且可以猜测类型。
您现在已经添加了集合,可以开始添加数据了。 默认模式只有一个必填字段:id
。 它没有其他默认字段,只有动态字段。 如果您想查看架构,其中所有内容都已清楚地解释,请查看文件 /opt/solr/server/solr/gettingstarted/conf/schema.xml
。
第 4 步 — 添加和查询文档
在本节中,我们将探索 Solr Web 界面并将一些文档添加到我们的集合中。
当您使用 Web 浏览器访问 http://your_server_ip:8983/solr
时,应该会出现 Solr Web 界面:
Web 界面包含许多有用的信息,可用于调试您在使用过程中遇到的任何问题。
集合被划分为核心,这就是为什么在 Web 界面中有很多对核心的引用。 目前,集合 gettingstarted
仅包含一个核心,名为 gettingstarted
。 在左侧,可以看到 Core Selector 下拉菜单,您可以在其中选择 gettingstarted
以查看更多信息。
选择 gettingstarted
内核后,选择 Documents。 文档存储了 Solr 可搜索的真实数据。 因为我们使用了无模式配置,所以我们可以使用任何字段。 让我们通过将以下内容复制到 Document(s) 字段中来添加具有以下示例 JSON 表示的单个文档:
{ "number": 1, "president": "George Washington", "birth_year": 1732, "death_year": 1799, "took_office": "1789-04-30", "left_office": "1797-03-04", "party": "No Party" }
单击提交文档,将文档添加到索引中。 片刻之后,您将看到以下内容:
添加文档后的输出
Status: success Response: { "responseHeader": { "status": 0, "QTime": 509 } }
您可以添加更多具有相似或完全不同结构的文档,但您也可以只添加一个文档。
现在,选择左侧的Query,查询我们刚刚添加的文档。 使用本界面默认值,点击执行查询后,最多可以看到10个文档,具体看你添加了多少:
查询输出
{ "responseHeader": { "status": 0, "QTime": 58, "params": { "q": "*:*", "indent": "true", "wt": "json", "_": "1436827539345" } }, "response": { "numFound": 1, "start": 0, "docs": [ { "number": [ 1 ], "president": [ "George Washington" ], "birth_year": [ 1732 ], "death_year": [ 1799 ], "took_office": [ "1789-04-30T00:00:00Z" ], "left_office": [ "1797-03-04T00:00:00Z" ], "party": [ "No Party" ], "id": "1ce12ed2-add9-4c65-aeb4-a3c6efb1c5d1", "_version_": 1506622425947701200 } ] } }
结论
还有更多可用的选项,但您现在已经成功安装了 Solr,并且可以开始将它用于您自己的站点。