在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4

 

这个简短的教程描述了如何在 Ubuntu Server 上安装 Solr 4,我使用的版本是:Ubuntu Server 12.04 和 Apache Solr 4.0-BETA. 我同时将展示如何测试安装以及执行一个简单的索引和查询任务。
在 Ubuntu 12.04 LTS 上安装 Tomcat

1. 安装包
1     apt-get install tomcat6 curl

2. 从 http://lucene.apache.org/solr 上下载 Solr 4 (写文章是的最新版本是 apache-solr-4.0.0-BETA.tgz)

3. 为 solr 选择一个目录,并使用 SOLR_HOME 环境变量指向这个目录,我这里选择的是 /opt/solr ,因此我的 SOLR_HOME=/opt/solr. 如果你想选择不同的目录请替换 /opt/solr

4. 解压缩文件并复制到 $SOLR_HOME:

    复制 example/solr/* 到 /opt/solr
    复制 example/webapps/solr.war 到 /opt/solr

5. 编辑 /opt/solr/collection1/conf/solrconfig.xml 中的 dataDir 配置项
1     <dataDir>${solr.data.dir:/opt/solr/data}dataDir>

6. 为 Solr 创建数据目录,并给 tomcat 设置可读写权限
1     % mkdir /opt/solr/data
2     % sudo chown tomcat6 /opt/solr/data

下面是我的 /opt/solr 目录的结构:

$ tree -d ├── bin
├── collection1
│   └── conf
│       ├── lang
│       ├── velocity
│       └── xslt
└── data

 

7. 在 Tomcat 中设置新的 context (web应用程序)并指向我们的 solr 文件,只需要在创建文件/etc/tomcat6/Catalina/localhost/solr.xml ,内容如下:
1     xml version="1.0" encoding="utf-8"?>
2     <Context docBase="/opt/solr/solr.war" debug="0" crossContext="true">
3       <Environment name="solr/home" type="java.lang.String" value="/opt/solr"override="true"/>
4     Context>

8. 重启 tomcat
1     /etc/init.d/tomcat6 restart

9. 你可以在浏览器上打开 http://localhost:8080/solr 来验证是否安装成功

solr 面板
索引测试以及 UTF-8 测试

solr 安装文件包含一个简单的 schema.xml (我们已经复制到了 $SOLR_HOME 目录) 和一些包含示例数据的 xml 文件,我们将使用这些数据来测试 UTF-8 编码是否正常。

1. 进入 solr 解压目录然后使用 curl 导入 utf8-example.xml 文件
1     URL=http://localhost:8080/solr/update
2     curl $URL --data-binary @example/exampledocs/utf8-example.xml -H 'Content-type:application/xml'

来自服务器的响应类似如下XML信息:
1     <?xml version="1.0" encoding="UTF-8"?>
2     <response>
3     <lst name="responseHeader"><int name="status">0</int><int name="QTime">22</int></lst>
4     </response>
5     </xml>

2. 提交文档
1     curl "$URL?softCommit=true"

3. 通过测试搜索字符串 êâîôû ,使用 Solr 管理界面或者使用 GET 请求访问

http://localhost:8080/solr/collection1/select?q=êâîôû

你将看到返回一个搜索结果。

你可能感兴趣的:(ubuntu,solr4)