如何在Ubuntu14.04上安装Solr
介绍
Solr 是一个基于 Apache Lucene 的搜索引擎平台。 它是用 Java 编写的,并使用 Lucene 库来实现索引。 可以使用各种 REST API(例如 XML 和 JSON)。 这是 他们的网站 的功能列表:
- 高级全文搜索功能
- 针对高容量 Web 流量进行了优化
- 基于标准的开放接口 - XML、JSON 和 HTTP
- 全面的 HTML 管理界面
- 通过 JMX 公开的服务器统计信息用于监控
- 线性可扩展、自动索引复制、自动故障转移和恢复
- 近实时索引
- 灵活且可适应 XML 配置
- 可扩展插件架构
在本文中,我将向您展示如何使用两种不同的方法在 Ubuntu 上安装 Solr。 第一个是简单的方法,第二个是更高级的方法。 我推荐第二种方法,因为它会在所有 Ubuntu 版本上安装较新版本的 Solr,即使是在撰写本文时的最新版本 14.04 中也是如此。
使用 apt-get 安装 Solr(简单的方法)
如果您想以简单的方式安装 Solr,您应该使用本文的这一部分。 Solr 不能单独工作。 它需要一个 Java servlet 容器,例如 Tomcat 或 Jetty。 在本文中,我们将使用 Jetty,尽管 Tomcat 也同样简单。 首先,我们应该安装 Java JDK。 如果要安装自定义版本,请看【X52X】这篇文章【X68X】。 如果您想要简单的安装,请执行以下命令:
sudo apt-get -y install openjdk-7-jdk mkdir /usr/java ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default
Ubuntu 默认提供 3 个 Solr 包:solr-common
,包含实际 Solr 代码的包; solr-tomcat
,Solr与Tomcat集成; 和 solr-jetty
,与 solr-tomcat
类似,但使用 Jetty Web 服务器。 在本文中,我们将安装solr-tomcat
,因此执行以下命令:
sudo apt-get -y install solr-tomcat
您的 Solr 实例现在应该在 http://YOUR_IP:8080/solr
上可用。 如果要配置 Solr,请跳过下一部分手动安装。
手动安装 Solr
要手动安装 Solr,您将需要更多时间。 首先,我们应该安装 Java JDK。 如果要安装自定义版本,请看【X52X】这篇文章【X68X】。 在本节中,我们将使用 Jetty 而不是 Tomcat。 如果您想要简单的安装,请执行以下命令:
sudo apt-get -y install openjdk-7-jdk mkdir /usr/java ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default
我们现在可以开始真正安装 Solr。 首先,下载所有文件并解压:
cd /opt wget http://archive.apache.org/dist/lucene/solr/4.7.2/solr-4.7.2.tgz tar -xvf solr-4.7.2.tgz cp -R solr-4.7.2/example /opt/solr cd /opt/solr java -jar start.jar
通过访问 http://YOUR_IP:8983/solr
检查它是否有效。 当它工作时,返回您的 SSH 会话并使用 Ctrl+C 关闭窗口。 然后打开 /etc/default/jetty
文件 (nano /etc/default/jetty
) 并将其粘贴到其中:
NO_START=0 # Start on boot JAVA_OPTIONS="-Dsolr.solr.home=/opt/solr/solr $JAVA_OPTIONS" JAVA_HOME=/usr/java/default JETTY_HOME=/opt/solr JETTY_USER=solr JETTY_LOGS=/opt/solr/logs
保存并打开文件 /opt/solr/etc/jetty-logging.xml
(nano /opt/solr/etc/jetty-logging.xml
) 并将其粘贴到其中:
http://jetty.mortbay.org/configure.dtd ”> 例如 --> <New id="ServerLog" class="java.io.PrintStream"> <Arg> <New class="org.mortbay.util.RolloverFileOutputStream"> <Arg><SystemProperty name="jetty.logs" default="."/>/yyyy_mm_dd.stderrout.log</Arg> <Arg type="boolean">false</Arg> <Arg type="int">90</Arg> <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg> <Get id="ServerLogName" name="datedFilename"/> </New> </Arg> </New> <Call class="org.mortbay.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call> <Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call> <Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call></Configure>
然后,创建 Solr 用户并授予其权限:
sudo useradd -d /opt/solr -s /sbin/false solr sudo chown solr:solr -R /opt/solr
之后,下载启动文件并将其设置为如果尚未完成则自动启动:
sudo wget -O /etc/init.d/jetty http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk/jetty-distribution/src/main/resources/bin/jetty.sh sudo chmod a+x /etc/init.d/jetty sudo update-rc.d jetty defaults
最后启动 Jetty/Solr:
sudo /etc/init.d/jetty start
您现在可以像以前一样在 http://YOUR_IP:8983/solr
上访问您的安装。
为 Solr 配置 schema.xml
首先,将 /opt/solr/solr/collection1
重命名为可理解的名称,例如苹果(使用您喜欢的任何名称)。 (如果您使用apt-get安装它可以跳过。在这种情况下,您可以执行以下命令:cd /usr/share/solr
):
cd /opt/solr/solr mv collection1 apples cd apples
此外,如果您手动安装了 Solr,请打开文件 core.properties (nano core.properties
) 并将名称更改为相同的名称。
然后,删除 data
目录并更改 schema.xml:
rm -R data nano conf/schema.xml
在此处粘贴您自己的 schema.xml。 Solr Repository 中有一个非常高级的 schema.xml。 您可能可以在 Internet 上找到更多它们,但我不会对此进行深入探讨。 重启码头/Tomcat:
对于简单的安装。
sudo service tomcat6 restart
对于高级安装。
sudo /etc/init.d/jetty restart
当您现在访问 Solr 实例时,您应该会在某处看到带有集合的仪表板。
结论
您现在已经成功安装了 Solr,并且可以开始将它用于您自己的站点! 如果您不知道如何制作 schema.xml,请查找有关如何制作的教程。 然后,为您的编程语言找到一个与 Solr 连接的库。