介绍
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。 如果你想安装一个定制版本,请参阅这篇文章 。 如果要进行简单安装,请执行以下命令:
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
,但与码头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"
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"?> <!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"> <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。 有一个在一个非常先进的schema.xml中Solr的存储库 。 你可以在互联网上找到更多的他们,但我不会深入了解。 重新启动Jetty / Tomcat:
用于简单安装。
sudo service tomcat6 restart
用于高级安装。
sudo /etc/init.d/jetty restart
当您现在访问您的Solr实例时,您应该看到包含集合的仪表板。
结论
您现在已成功安装Solr,并可开始将其用于您自己的网站! 如果你不知道如何做一个schema.xml,找到一个教程如何做。 然后,找到与Solr连接的编程语言的库。