介绍
Solr是一个基于Apache Lucene的搜索引擎平台。它是用Java编写的,并使用Lucene库来实现索引。可以使用各种REST API访问它,包括XML和JSON。这是他们网站上的功能列表:
- 高级全文搜索功能
- 针对高容量Web流量进行了优化
- 基于标准的开放接口 - XML,JSON和HTTP
- 全面的HTML管理界面
- 通过JMX公开的服务器统计信息用于监视
- 线性可扩展,自动索引复制,自动故障转移和恢复
- 近实时索引
- 灵活且适应XML配置
- 可扩展插件架构
在本文中,我们将使用其二进制分发版安装Solr。
准备
要学习本教程,您需要:
- 最少1 GB Ubuntu 14.04 CVM,但所需的RAM量在很大程度上取决于您的具体情况。
- 一个具有
sudo
权限的非root用户。 - 没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。
第一步 - 安装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
以接受将存储库添加到索引中。
然后,更新源列表:
代码语言:javascript复制sudo apt-get update
最后,使用apt-get安装Java 8。您需要同意Java SE平台产品和JavaFX的Oracle二进制代码许可协议。
代码语言:javascript复制sudo apt-get install oracle-java8-installer
第二步 - 安装Solr
在本节中,我们将安装Solr 5.2.1。我们将从下载Solr发行版开始。
首先,在此页面上找到合适的镜像。然后,复制镜像solr-5.2.1.tgz
的链接。例如,我们将使用http://apache.mirror1.spango.com/lucene/solr/5.2.1/
。
然后,在您的主目录中下载该文件:
代码语言:javascript复制cd ~
wget http://apache.mirror1.spango.com/lucene/solr/5.2.1/solr-5.2.1.tgz
接下来,解压缩服务安装文件:
代码语言:javascript复制tar xzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh --strip-components=2
并使用脚本将Solr安装为服务:
代码语言:javascript复制sudo bash ./install_solr_service.sh solr-5.2.1.tgz
最后,检查服务器是否正在运行:
代码语言:javascript复制sudo service solr status
您应该看到以此开头的输出:
代码语言:javascript复制Found 1 Solr nodes:
Solr process 2750 running on port 8983
. . .
第三步 - 创建集合
在本节中,我们将创建一个简单的Solr集合。
Solr可以有多个集合,但是对于这个例子,我们只使用一个集合。要创建新集合,请使用以下命令。在这种情况下,我们将其作为Solr用户运行,以避免任何权限错误。
代码语言:javascript复制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
文件。
第四步 - 添加和查询文档
在本节中,我们将探索Solr Web界面并向我们的集合添加一些文档。
当您使用Web浏览器访问http://your_server_ip:8983/solr
时,应显示Solr Web界面:
Web界面包含许多有用的信息,可用于调试您在使用过程中遇到的任何问题。
集合被划分为cores,这就是为什么Web界面中有很多对cores的引用。现在,该集合gettingstarted
只包含一个名为gettingstarted
的core。在左侧,可以看到Core Selector下拉菜单,您可以在其中选择gettingstarted
查看更多信息。
选择gettingstarted
后,选择“ 文档”。文档存储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"
}
单击“ 提交文档”将文档添加到索引中。片刻之后,您将看到以下内容:
代码语言:javascript复制Status: success
Response:
{
"responseHeader": {
"status": 0,
"QTime": 509
}
}
您可以添加更多具有相似或完全不同结构的文档,但您也可以只继续使用一个文档。
现在,选择左侧的Query查询我们刚刚添加的文档。使用此屏幕中的默认值,在单击“ 执行查询”后,您将最多看到10个文档,具体取决于您添加的数量:
代码语言:javascript复制{
"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,并且可以开始将它用于您自己的站点。
想要了解更多关于Ubuntu的开源信息教程,请前往腾讯云 社区学习更多知识。
参考文献:《How To Install Solr 5.2.1 on Ubuntu 14.04》