如何在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 连接的库。

提交者: [[“%3Ca|http]] ://www.benstechtips.net/go/doarticle [[“%3C/a|”>科恩·弗拉斯温克尔]]