如何在Ubuntu14.04上安装Solr5.2.1

来自菜鸟教程
跳转至:导航、​搜索

Solr 合作编写

介绍

Solr 是一个基于 Apache Lucene 的搜索引擎平台。 它是用 Java 编写的,并使用 Lucene 库来实现索引。 可以使用各种 REST API 访问它,包括 XML 和 JSON。 这是他们网站上的功能列表:

  • 高级全文搜索功能
  • 针对高容量 Web 流量进行了优化
  • 基于标准的开放接口 - XML、JSON 和 HTTP
  • 全面的 HTML 管理界面
  • 通过 JMX 公开的服务器统计信息用于监控
  • 线性可扩展、自动索引复制、自动故障转移和恢复
  • 近实时索引
  • 灵活且可适应 XML 配置
  • 可扩展插件架构

在本文中,我们将使用其二进制发行版安装 Solr。

先决条件

要遵循本教程,您将需要:

第 1 步 — 安装 Java

Solr 需要 Java,所以在这一步中,我们将安装它。

这篇文章 详细描述了完整的 Java 安装过程,但我们将使用稍微不同的过程。

首先,使用apt-get安装python-software-properties

sudo apt-get install python-software-properties

我们将安装最新版本的 Java 8,而不是使用 default-jdkdefault-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,并且可以开始将它用于您自己的站点。