在Ubuntu 14.04上安装Solr的方法

白如意i 2024-10-02 09:07:03 阅读 63

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

Solr 是基于 Apache Lucene 的搜索引擎平台。它用 Java 编写,并使用 Lucene 库来实现索引。可以通过各种 REST API(例如 XML 和 JSON)访问。以下是它们网站上的功能列表:

先进的全文搜索功能针对高流量网站进行优化基于标准的开放接口 - 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。如果您想安装自定义版本,请参阅本文。如果您想进行简单安装,请执行以下命令:

<code>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,集成了 Tomcat 的 Solr;以及 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。如果您想安装自定义版本,请参阅本文。在本节中,我们将使用 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"code>

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)并将以下内容粘贴到其中:

<?xml version="1.0"?>code>

<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<!-- =============================================================== -->

<!-- Configure stderr and stdout to a Jetty rollover log file -->

<!-- this configuration file should be used in combination with -->

<!-- other configuration files. e.g. -->

<!-- java -jar start.jar etc/jetty-logging.xml etc/jetty.xml -->

<!-- =============================================================== -->

<Configure id="Server" class="org.mortbay.jetty.Server">code>

<New id="ServerLog" class="java.io.PrintStream">code>

<Arg>

<New class="org.mortbay.util.RolloverFileOutputStream">code>

<Arg><SystemProperty name="jetty.logs" default="."/>/yyyy_mm_dd.stderrout.log</Arg>code>

<Arg type="boolean">false</Arg>code>

<Arg type="int">90</Arg>code>

<Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>code>

<Get id="ServerLogName" name="datedFilename"/>code>

</New>

</Arg>

</New>

<Call class="org.mortbay.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>code>

<Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>code>

<Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call>code>

</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 重命名为一个可理解的名称,比如 apples(使用任何你喜欢的名称)。(如果你是通过 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 仓库中有一个非常先进的 schema.xml。你可能还可以在互联网上找到更多的 schema.xml,但我不会深入讨论这个。重新启动 Jetty/Tomcat:

对于简单安装:

sudo service tomcat6 restart

对于高级安装:

sudo /etc/init.d/jetty restart

现在当你访问 Solr 实例时,你应该能在某个地方看到仪表板和集合。

结论

你现在已经成功安装了 Solr,并可以开始在你自己的网站上使用它!如果你不知道如何制作 schema.xml,请找一个关于如何做到这一点的教程。然后,找一个与 Solr 连接的编程语言库。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。