本文主要介绍solr的基本用法。首先,我们从Apache官网下载solr的二进制分发包,然后解压缩文件。安装完成后,我们将启动solr服务器,并通过浏览器访问solr的管理控制台来确认solr运行起来了。最后通过solr的管理控制台来进行一些基础的操作,学习solr的基本用法。
一、solr安装
验证jdk环境
安装solr之前需确保jdk已经安装成功。要求jdk为1.6以上的。
java -version
你应该看到以下类似的内容输出:
java version “1.8.0_171”
Java™ SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot™ 64-Bit Server VM (build 25.171-b11, mixed mode)
下载solr二进制分发包
可以去solr的官网去下载最新的solr版本,官网地址:http://lucene.apache.org/solr/ 。
lz使用的是solr 4.7,可以去Apache软件基金会存档库(http://archive.apache.org/dist/lucene/solr/4.7.0/) 中找到 solr 4.7。
下载好solr后,可以使用以下命令对其进行解压。
tar zxf solr-4.7.0.tgz
解压之后的目录结构如下图所示。
-
contrib:此文件夹中包含扩展的源代码,例如:聚类、语种检测
-
dist:此文件夹中包含contrib模块的JAR包,例如,SolrJ客户端和Solr WAR。
-
docs:此文件夹包含contrib模块的HTML说明文档和一个Solr简明教程。
-
example:此文件夹包含Solr示例服务器,本文内容在这个示例服务器上操作。
- solr:示例服务器的Solr主目录。
- licenses:Solr所有相关依赖的许可文件。
二、启动solr
要启动solr,请打开命令行窗口,输入以下命令:
cd /Users/wangdong/work_tools/solr-4.7.0(替换成你自己的solr文件夹路径)
java -jar start.jar
在solr 6 系列版本中,solr示例服务器启动命令有所变化。在slor的目录下,输入以下命令:
bin\solr.cmd start -e techproducts (Linux、Unix、Mac系统)
bin\solr start -e techproducts (windows 系统)
初始化过程中,控制台会显示一些日志信息,等初始化完成后。我们可以通过浏览器访问http://127.0.0.1:8983/solr,观察是否跳转到Solr管理页面以确认Slor是否正确启动了。
在后台,start.jar 启动了一个名为Jetty的Java Web服务器,监听端口为8983。Solr是运行在Jetty上的Web应用程序。下图展示了Solr的运行情况。
如上图所示,每个Jetty服务器都有一个Solr主目录;一个Solr主目录下可以有多个内核(core),上图中只有一个collection1内核;每个内核(core)下面都有自身的配置与索引。
三、了解Solr主目录
Solr的内核由 配置文件、Lucene索引文件 和 Solr事务日志组成。Jetty上运行的一台Solr服务器可以控制多个内核。
Solr示例服务器的默认Solr主目录
-
exampledocs:将要被添加到collection1索引的示例文档数据。
-
solr:示例默认的Solr主目录。
- collection1:代表一个内核。
- conf:此目录包含collection1内核的配置信息
- lang:此目录包含语言相关的文件。例如:停用词列表。
- solrconfig.xml:此文件是一个内核的主要配置文件。
- data:此文件夹是collection1内核的Lucene索引文件。
- conf:此目录包含collection1内核的配置信息
- collection1:代表一个内核。
四、对示例文档进行索引
第一次启动solr,索引中并没有文档。也就是说,这是一台空服务器,等待数据填充以供搜索使用。我们现在将示例数据装入到Solr的索引中,以便尝试提交查询。打开命令窗口,输入以下命令:
cd /Users/wangdong/work_tools/solr-4.7.0/example/exampledocs
java -jar post.jar *.xml
此时将看到以下输出:
SimplePostTool version 1.5
Posting files to base url http://localhost:8983/solr/update using content-type application/xml…
POSTing file gb18030-example.xml
POSTing file hd.xml
POSTing file ipod_other.xml
POSTing file ipod_video.xml
POSTing file manufacturers.xml
POSTing file mem.xml
POSTing file money.xml
POSTing file monitor.xml
POSTing file monitor2.xml
POSTing file mp500.xml
POSTing file sd500.xml
POSTing file solr.xml
POSTing file utf8-example.xml
POSTing file vidcard.xml
14 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/update…
Time spent: 0:00:00.303
post.jar文件通HTTP POST方式把 XML文档发送至solr。
此时,我们就有了一个加载了一些示例文档的Solr运行实例。