Lucene Solr 搭建手册

 

Lucene Solr 搭建手册

一、demo搭建

准备工作:

Window server 2008+java_6.02+ apache-solr-1.4.0.zip+tomcat6

环境描述:

将 apache-solr-1.4.0.zip解压到e:/Solr_home/ apache-solr-1.4.0

cd /u02/apache-solr-1.4.1/example

运行java -jar start.jar

看到运行之后打开localhost:8983

这个时候我们会看到

Error 404 - Not Found.

No context on this server matched or handled this request.
Contexts known to this server are: 

· /solr ---> org.mortbay.jetty.webapp.WebAppContext@e0e515{/solr,file:/E:/Sorl_Home/apache-solr-3.1.0/example/webapps/solr.war}

这个时候点击solr.war的链接就可以进入页面了


这样一个简单的demo就运行起来

二、标准安装(推荐按照黄色标记部分)

 上面的简易安装方式终究不能运用于正式场合,因此还是需要标准安装方式。 

 solr的安装其实需要做的事情不多,因为本身就只需要运行起来是一个打包好的war包,只要配置OK就可以运行于各个web container。 

 通用的solr安装步骤如下: 

1. 准备好web container tomcat, jetty, resin等 

注意安装前先停止web container服务器。 

2.解压到随便一个地方,拿出以下两个文件:

<1>解压目录/dist/apache-solr-1.4.0.war;

<2>解压目录/example/solr;确保solr目录有以下文件存在:

 solr/conf/solrconfig.xml;

 solr/conf/schema.xml;

 solr/data;[default index dir]

3.将解压后的dist/apache-solr-1.4.0.war拿到tomcat/webapps,改名为solr.war[自定义];

4.建立solr home,新建一个文件夹,存放在e:/Solr_Home(名称自定义),将压缩文件/example/solr拷贝下来,作为一个基本模板,这样e:/Solr_Home/solr做为我们的home,所有的配置文件将会从这里读取。

5.安装于tomcat启动web container 

启动时有两个东西需要做到: 

1要运行的solrwebapp 

可以通过直接复制solrwar包到webapp目录,也可以通过其他方式指定这个war的路径 

总之是让web container启动solr这个应用。 

推荐将解压出来的apache-solr-1.4.0.war,放到webapp目录

2要指明solr home 1.4版本只看4最简单

方式有4种: 

· 1. 设置java 的系统参数solr.solr.home(应该是solr.home,但是官网就是写成solr.solr.home) 

· 如 -Dsolr.solr.home=C:\soft\solr 

· 2. 设置JNDI lookup "java:comp/env/solr/home" 

· 及在/conf/Catalina/localhost/solr.xml

· 3. 默认为./solr目录,即当前工作路径下的solr 

· 由于工作路径容易造成问题,因此一般不推荐这种方式。(如果我们启动tomcat的时候是从tomcat/bin中启动话,那么solr很傻的会把默认solr_home当成tomcat/bin,这样会在bin中去找conf文件造成报错

· 4.solr1.4版本中的web.xml文件中可以直接设置solr home,所以前面设置可以不用设置,我们在后面的地方再设置

6. 安装于tomcat

    以下内容参考官网文档 http://wiki.apache.org/solr/SolrTomcat.  

    1. 修改tomcatserver.xml文件 

主要是修改监听端口,另外需要设置URIEncodingUTF-8。 注意:8080端口别重复用了,这里最好修改一下。

    <Connector port="8082" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8443" URIEncoding="UTF-8" /> 

    2. 增加tomcat\conf\Catalina\localhost\solr.xml文件 (如果方法2增加solr home那么此处就要配置)

内容为: 

<xml version="1.0" encoding="utf-8"> 

<Context docBase="C:\soft\solr\apache-solr-1.4.1.war" debug="0" crossContext="true"> 

  <Environment name="solr/home" type="java.lang.String" value="C:\soft\solr" override="true"/> 

</Context> 

    使用的tomcat版本为6.28。 

6.此时访问http://localhost:8082/solr14会出现:

 "HTTP Status 500 - Severe errors in solr configuration.";

7.打开webapps下的solr14/WEB-INF/web.xml,将注释掉的下面内容解放并修改value的值如下:

 <env-entry>

  <env-entry-name>solr/home</env-entry-name>

  <env-entry-value>e:/Solr_Home/solr</env-entry-value>

  <env-entry-type>java.lang.String</env-entry-type>

 </env-entry>

8.注意solr/home的值就是讲solrconfdata目录等的所在地。

9.现在再次访问"http://localhost:8082/solr14/"是不是出现了"Welcome to Solr!"

这样的话,我们就在tomcat中配置好了solr

三、连接数据库,增加数据库索引

solr功能非常强大,可以建立各种数据的索引,常见的企业应用中,少不了数据库的索引的创建,可以通过写程序 可以将数据读出100条,如果你的内存够大,可以是1000条甚至更多,然后放入Collection中,批量提交至solr。或者读取数据写入xml文件中,再将该文件提交到solr等等。但是,solr带了数据库创建索引的功能,步骤如下: 

 

1把下载到的apache-solr-1.4.0\example\example-DIH\solr里的内容复制到solr_home,可以拿这个做模板使用 (原来的那个先重命名吧)

2、删除\solr\rss,修改e:\Solr_Home\sorl\solr.xml  文件,去掉<core default="true" instanceDir="rrs" name="rrs"></core>该行 

3复制mysql驱动到e:\Solr_Home\solr\db\lib文件夹

4、到此,完成, 

运行测试: 

开始-运行 启动tomcat6,如果上面配置无误,可以查看tomcat日志看是否有错误,确定无错后,在浏览器输入http://localhost:8082/solr/db/dataimport?command=full-import,既可以看到输出 

测试mysql数据库(驱动文件我们已经拷贝到lib

环境和创建的文件夹延续上面的 

步骤: 

1、修改e:\Solr_Home\solr\solr.xml文件内容为 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

<solr sharedLib="lib" persistent="true"> 

   <cores adminPath="/admin/cores"> 

     <core default="true" instanceDir="db" name="db"></core> 

   </cores> 

</solr> 

2、修改e:\Solr_Home\solr\db\conf\db-data-config.xml 内容为: 

<dataConfig> 

   <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test" user="root" password=""/> 

   <document name="mybook"> 

       <entity name="book" pk="id" query="select * from book"> 

       <field column="id" name="id" /> 

       <field column="bookname" name="bookname" /> 

       <field column="bookathor" name="bookathor" /> 

     </entity> 

   </document> 

</dataConfig> 

3、因为booknamebookathor2个字段在e:\Solr_Home\solr\db\conf\schema.xml不存在,所以,要增加着2field 

<field name="bookname" type="string" indexed="true" stored="true" required="true" /> 

  <field name="bookathor" type="string" indexed="true" stored="true" required="true" /> 

注意:在该文件有<field  的地方增加, 

4、将e:\Solr_Home\solr\db\conf\solrconfig.xml 

设置<dataDir>${solr.data.dir:./solr/db/data}</dataDir> 

5、到此完成 

运行测试: 

开始-运行  cmd  进入命令行,切换目录到D:\tomcat6.0.29,输入bin\startup.bat,启动tomcat6,如果上面配置无误,可以查看tomcat日志看是否有错误,确定无错后,在浏览器输入http://127.0.0.1:8082/solr/db/dataimport?command=full-import,既可以看到输出。通过上面访问,就创建了数据库索引 

可以访问http://127.0.0.1:8082/solr/db/admin/,在Query String: 输入id:搜索内容(格式为  要搜索的字段:搜索关键字)来测试是否已经将数据表中的数据建立了索引,也可以在该界面修改搜索的参数 

最后在说说这个功能。上面的例子只不过是很简单的一个部分。针对solrMultiCore,通过配置db-data-config.xml也可以实现,还有多表,或者多表关联等等操作只要在db-data-config.xml配置清楚都可以进行数据的导入。 

solr1.4中还有更多的扩展功能,这些功能为重建索引提供能很方便的操作。而且,datasource不单单指的是database,可以是xml文件,还可以是来自网络上的等等。

转载于:https://my.oschina.net/u/151957/blog/23828

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值