跳转到主要内容
东方龙马 提交于 21 August 2014

原文链接: Installing Solr and Search API on Ubuntu 13.10 for Local Development

作者:Andy-Hieb Andy Hieb, Senior Developer

译者:助跑者(Mover)

在Forum One,我们使用了Vagrant提供的虚拟机对我们的本地开发环境进行了标准化,而且有时候,从一个本地的开发环境到一个宿主系统来说也是有用的。我最 近正在我自己的Ubuntu主机服务器堆中为一个Drupal项目加入Apache Solr服务,我想来分享一下我的经验。

我用的是 Ubuntu 13.10(saucy), 我的理智及系统的完整性使我总是尽我所能去试图用Ubuntu/Debian包管理工具去管理许多的包,APT。有许多很棒的引用资料出来 - 来自Lullabot的Ben Chavet的文章中基本理解了我的方式,但是我想在这里快速的重讲一下,并结合我的软件堆作具体说明。

可惜的是,大部分安装指南提示,在许多Linux包文档趋向去使用旧版的Solr; Ubuntu的saucy版包含的就是Solr 3.6. 为了去使用最近几年开发的Solr,正如大多Drupal相关的资料所推荐的,Solr是我所手动安装的软件中的一个例外,不在包管理范围内。

检查所需软件

  • Ubuntu 13.10 (saucy)
  • Java 7 (openjdk-7 package)
  • Tomcat 7 (tomcat7 package)
  • Solr 4.8.1 (manual download/installation)
  • Drupal 7.25
  • Search API 7.x-1.11
  • Search API Solr 7.x-1.4

安装Java

我们首先照这命令安装Java

sudo apt-get install openjdk-7

安装Tomcat

现在我们用这个命令来安装Tomcat

sudo apt-get install tomcat7

一旦安装完,我们可以通过打开浏览器并导航到 http://localhost:8080/ 打开Tomcat默认页是否呈现来验证它。

Tomcat 默认页

Tomcat default web page

安装Solr

从http://lucene.apache.org/solr/下载最新的Solr 4.8.1,展开档案包,并复制Solr的Java库到Tomcat的库目录。

sudo cp solr-4.8.1/dist/solrj-lib/* /usr/share/tomcat7/lib/

下一步是复制Solr的日志配置文件到Tomcat的配置目录。

sudo cp solr-4.8.1/example/resources/log4j.properties /var/lib/tomcat7/conf/

我们将也需要去复制Solr Web程序到Tomcat的应用程序目录。

sudo cp solr-4.8.1/dist/solr-4.8.1.war /var/lib/tomcat7/webapps/solr.war

后通过修改solr.xml文件来定义Solr的上下文。

sudo vim /var/lib/tomcat7/conf/Catalina/localhost/solr.xml

我们仅仅需要从上面的文件中的一个上下文(Context)片断去指向这个应用程序的文件到Solr的主目录即可。

<Context docBase="/var/lib/tomcat7/webapps/solr.war" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="/usr/share/tomcat7/solr" override="true" />
</Context>

配置Solr

去配置Solr,第一步是创建Solr的主目录。

sudo mkdir /usr/share/tomcat7/solr

下一步是复制Solr的配置文件到Solr主目录中。

sudo cp -r solr-4.8.1/example/solr/collection1/conf /usr/share/tomcat7/solr/

现在我们可以通过http://localhost:8080/solr,在浏览器中去验证Solr是否工作了。 Solr web-based admin

最后,我们将要复制Drupal搜索的API模块的配置文件到Solr主目录。

sudo cp sites/all/modules/contrib/search_api_solr/solr-conf/4.x/* /usr/share/tomcat7/solr/conf/

设置Solr核心

首先,我们需要去通过编辑solr.xml来定义我们的Solr内核('drupal' 的名字是任意的)

sudo vim /usr/share/tomcat7/solr/solr.xml
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
  <cores adminPath="/admin/cores">
      <core name="drupal" instanceDir="drupal" />
 </cores>
</solr>

下一步,我们将要创那家Solr核心目录。

sudo mkdir /usr/share/tomcat7/solr/drupal

然后,我们要复制我们的基本Solr的配置文件到核心目录。

sudo cp -r /usr/share/tomcat7/solr/conf /usr/share/tomcat7/solr/drupal/

最后,我们通过浏览http://localhost:8080/solr/#/~cores/drupal去验证Solr核心是否可用。

Solr core web-based admin

配置搜索的API

现在Solr已经启动并正在运行,在DRUPAL中添加一个Solr服务器:在本地localhost及8080端口,路径为/solr/drupal上使用"Solr Service"类

Drupal Search API add Solr server screen

Drupal搜索API Solr服务器添加界面

下一步,添加索引,选择已经创建的服务器及你选择的其它配置

Drupal Search API add Solr index screen

Drupal搜索API索引界面

更多详情请去看搜索API文档及Solr搜索API文档。

Drupal 版本