如何在Ubuntu 16.04上安装和配置Solr 6

什么是Apache Solr? Apache Solr是一个用Java编写的开源企业级搜索平台,可以让您创建自定义搜索引擎来索引数据库,文件和网站。 它具有Apache Lucene的后端支持。 它可以例如用于在多个网站中进行搜索,并可以显示搜索内容的建议。 Solr使用基于XML(可扩展标记语言)的查询和结果语言。 有可用于Python,Ruby和JSON(Javascript对象符号)的API(应用程序接口)。

Solr提供的其他一些功能包括:

  • 全文检索。
  • 代码段生成和突出显示。
  • 自定义文件订购/排名。
  • 拼写建议

本教程将向您展示如何在Ubuntu 16.04 LTS上安装最新的Solr版本。 这些步骤很可能与以后的Ubuntu版本一起使用。

更新系统

使用非root用户登录Ubuntu服务器。 通过这个用户,你将不得不执行所有的步骤,然后使用Solr。

要更新系统,请执行以下命令以使用最新的修补程序和更新来更新系统。

sudo apt-get update && apt-get upgrade -y

设置Java运行时环境

Solr是一个Java应用程序,因此需要首先安装Java运行时环境才能设置Solr。

我们必须安装Python软件属性才能安装最新的Java 8.运行以下命令来安装软件。

root@server1:~# sudo apt-get install python-software-properties
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python2.7 python2.7-minimal
Suggested packages:
python-doc python-tk python-apt-dbg python-apt-doc libcurl4-gnutls-dev
python-pycurl-dbg python-pycurl-doc python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python-software-properties python2.7
python2.7-minimal
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 4,070 kB of archives.
After this operation, 17.3 MB of additional disk space will be used.
Do you want to continue? [Y/n]

按Y继续。

执行该命令后,通过运行以下命令,将webupd8team Java PPA存储库添加到系统中:

sudo add-apt-repository ppa:webupd8team/java

请求时按[ENTER]。 现在,您可以使用apt轻松安装最新版本的Java 8。

首先,更新软件包列表以从新的PPA获取可用软件包:

sudo apt-get update

然后使用以下命令安装最新版本的Oracle Java 8:

sudo apt-get install oracle-java8-installer
root@server1:~# sudo apt-get install oracle-java8-installer
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils
Suggested packages:
binutils-doc binfmt-support visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothic | ttf-sazanami-gothic ttf-kochi-mincho | ttf-sazanami-mincho ttf-arphic-uming firefox
| firefox-2 | iceweasel | mozilla-firefox | iceape-browser | mozilla-browser | epiphany-gecko | epiphany-webkit | epiphany-browser | galeon | midbrowser | moblin-web-browser | xulrunner
| xulrunner-1.9 | konqueror | chromium-browser | midori | google-chrome
The following NEW packages will be installed:
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-installer x11-common xfonts-encodings xfonts-utils
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 6,498 kB of archives.
After this operation, 20.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]

按Y继续。

如果要使用Oracle JDK,请单击确定按钮,您必须同意http://java.com/license中的许可证。

该软件包安装了一种元安装程序,然后直接从Oracle下载二进制文件。 安装完成后,通过运行以下命令检查安装的Java版本

java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

现在你已经安装了Java 8,我们将转到下一步。

安装Solr应用程序

Solr可以以不同的方式安装在Ubuntu上,在本文中,我将向您展示如何从源安装最新的软件包。

我们将从下载Solr发行版开始。 首先从他们的网页找到可用包的最新版本,复制链接并使用wget命令下载

对于这个设置,我们将使用http://www.us.apache.org/dist/lucene/solr/6.0.1/

cd /tmp
wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
root@server1:/tmp# wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
--2016-06-03 11:31:54-- http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Resolving www.us.apache.org (www.us.apache.org)... 140.211.11.105
Connecting to www.us.apache.org (www.us.apache.org)|140.211.11.105|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 137924507 (132M) [application/x-gzip]
Saving to: ‘solr-6.0.1.tgz’

现在,运行以下命令提取服务安装文件:

tar xzf solr-6.0.1.tgz solr-6.0.1/bin/install_solr_service.sh --strip-components=2

并使用脚本安装Solr作为服务:

sudo ./install_solr_service.sh solr-6.0.1.tgz

输出将类似于:

 root@server1:/tmp# sudo ./install_solr_service.sh solr-6.0.1.tgz
id: ‘solr’: no such user
Creating new user: solr
Adding system user `solr' (UID 111) ...
Adding new group `solr' (GID 117) ...
Adding new user `solr' (UID 111) with group `solr' ...
Creating home directory `/var/solr' ...

Extracting solr-6.0.1.tgz to /opt


Installing symlink /opt/solr -> /opt/solr-6.0.1 ...


Installing /etc/init.d/solr script ...


Installing /etc/default/solr.in.sh ...

? solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)

Jun 03 11:36:43 server1 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Jun 03 11:36:44 server1 su[20934]: Successful su for solr by root
Jun 03 11:36:44 server1 su[20934]: + ??? root:solr
Jun 03 11:36:44 server1 su[20934]: pam_unix(su:session): session opened for user solr by (uid=0)
Jun 03 11:37:05 server1 solr[20929]: [313B blob data]
Jun 03 11:37:05 server1 solr[20929]: Started Solr server on port 8983 (pid=20989). Happy searching!
Jun 03 11:37:05 server1 solr[20929]: [14B blob data]
Jun 03 11:37:05 server1 systemd[1]: Started LSB: Controls Apache Solr as a Service.
Service solr installed.

使用此命令检查服务的状态

service solr status

你应该看到一个从这开始的输出:

root@server1:/tmp# service solr status
? solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 39s ago
Docs: man:systemd-sysv-generator(8)
Process: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)

Jun 03 11:36:43 server1 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Jun 03 11:36:44 server1 su[20934]: Successful su for solr by root
Jun 03 11:36:44 server1 su[20934]: + ??? root:solr
Jun 03 11:36:44 server1 su[20934]: pam_unix(su:session): session opened for user solr by (uid=0)
Jun 03 11:37:05 server1 solr[20929]: [313B blob data]
Jun 03 11:37:05 server1 solr[20929]: Started Solr server on port 8983 (pid=20989). Happy searching!
Jun 03 11:37:05 server1 solr[20929]: [14B blob data]
Jun 03 11:37:05 server1 systemd[1]: Started LSB: Controls Apache Solr as a Service.

创建Solr搜索集合:

使用Solr,我们可以创建多个集合。 运行给定的命令,提到集合的名称(这里是startstarted)并指定其配置。

sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
root@server1:/tmp# sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"

Copying configuration to new core instance directory:
/var/solr/data/gettingstarted

Creating new core 'gettingstarted' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted

{
"responseHeader":{
"status":0,
"QTime":4427},
"core":"gettingstarted"}

我们的第一个集合的新核心目录已创建。 要查看默认模式文件,请执行以下操作:

/opt/solr/server/solr/configsets/data_driven_schema_configs/conf

使用Solr Web界面

Apache Solr现在可以在默认端口上访问,这是8983.管理界面应该可以访问http:// your_server_ip 8983 / solr。 您的防火墙应允许该端口运行链接。

例如:

http://192.168.1.100:8983/solr/

要查看我们之前创建的第一个集合的详细信息,请在左侧菜单中选择“getstarted”集合。

选择“收藏”集合后,选择左侧菜单中的“文档”。 在那里,您可以输入可以由Solr搜索的JSON格式的实际数据。 要添加更多数据,请将以下示例复制并粘贴到“文档”字段中:

{
"id": 1,
"book_title": "My First Book",
"published": 1985,
"description": "All about Linux"
}

添加数据后点击提交文档按钮。

Status: success
Response:

{
"responseHeader": {
"status": 0,
"QTime": 189
}
}

现在我们可以点击左边的查询然后点击执行 查询

我们会看到这样的东西:

{
  "responseHeader":{
    "status":0,
    "QTime":24,
    "params":{
      "q":"*:*",
      "indent":"on",
      "wt":"json",
      "_":"1464947017056"}},
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"1",
        "book_title":["My First Book"],
        "published":[1985],
        "description":["All about Linux"],
        "_version_":1536108205792296960}]
  }}

虚拟机镜像下载本教程

本教程可以随时准备为ovf / ova格式的虚拟机映像使用Howtoforge订阅服务器。 VM格式与VMWare和Virtualbox兼容。 虚拟机映像使用以下登录详细信息:

SSH / Shell登录

用户名:administrator
密码:youcl

该用户具有sudo权限。

请更改所有上述密码以保护虚拟机。

结论

在Ubuntu上成功安装Solr Web界面后,您可以使用Solr API和Web Interface插入数据或查询数据。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏