使用solr搜索引擎服务器:
1.本人将solr搜索引擎服务和web项目分为两个服务,通过web调用solr服务来实现具体操作(用于自己的试验,在真正项目中还未接触,暂时这样处理)。
2.均采用Tomcat7,将其拷贝2份,一份用于web项目服务,另一份用于solr搜索引擎服务(这里只是修改了端口号,采用8080和7080两个端口,在运行web项目时,同时要开启另一个服务)。
3.在web调用solr时,solr4.10.0文件下的一些jar要导到web项目中
配置Solr搜索引擎服务器对应的Tomcat:
1.这里我采用的是solr4.10.0的压缩包,将其解压后我们需要处理如下几个文件
1.1在本人的文件路径下:D:Homesolr-4.10.0solr-4.10.0dist 存在一个solr.war文件,将其放在E:apache-tomcat-7.0.67webapps下,dos启动tomcat,则会自动解压,产生solr文件。(solr文件下的结构和web的部分结构一致),首先修改E:apache-tomcat-7.0.67webappssolrWEB-INF下的web.xml文件,将注释掉的
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>E:/apache-tomcat-7.0.67/webapps/solr_home</env-entry-value>(这里已经被我修改)
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
开启。
1.2 E:/apache-tomcat-7.0.67/webapps/solr_home这个路径是我们操作的第二个文件,solr_home是本人自己创建的,里面存放的内容是solr4.10.0中的(D:Homesolr-4.10.0solr-4.10.0examplesolr)solr下的内容,这里Apache提供了一个collection1案例,我们以后将按照这个案例构建自己的core。
1.3配置Logging
将(D:Homesolr-4.10.0solr-4.10.0examplelibext)ext文件中的jar包拷贝到E:apache-tomcat-7.0.67webappssolrWEB-INFlib下,这里是为了在运行时获取相应的运行日志记录。同时需要将(D:Homesolr-4.10.0solr-4.10.0example esources)resources文件下的log4j.properties放到(E:apache-tomcat-7.0.67webappssolrWEB-INFclasses)classes中,如果不存在这个文件夹,手动创建即可。
一般上述完成就可以访问localhost:8080/solr 界面,而通过这个界面,我们就可以创建我们需要的core,这里的core也就是1.2中讲述的core,创建的同时要在相应文件夹下构建和collection1结构一致的文件,而文件名就是你要创建的core。
1.4,创建core的过程中可以通过Logging来查看情况,如果出现异常,可以在Logging上看到。(无妨将core文件命名为user,下面用user代替)
1.5创建user成功的话,你本人会将其和我需要使用的数据库关联。
关联起来需要对user下的几个文件进行配置:
E:apache-tomcat-7.0.67webappssolr_homeuserconf下的solrconfig.xml,需要在这里配置
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
同时在改目录下创建data-config.xml,本人的测试为例:
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="123456"/>
<document name="user1">
<entity name="user1" query="select * from user1" >
<field column="id1" name="id1"/>
<field column="username1" name="username1"/>
<field column="age1" name="age1"/>
</entity>
</document>
</dataConfig>
这里记得导入相应jar,连接数据库必备的jar,放到E:apache-tomcat-7.0.67webappssolrWEB-INFlib即可。
同时在schema.xml添加
<field name="id1" type="int" indexed="true" stored="true"/>
<field name="username1" type="string" indexed="true" stored="true"/>
<field name="age1" type="int" indexed="true" stored="true"/>
<uniqueKey>id1</uniqueKey>
基本上上述完成,在http://localhost:7080/solr下选择user下的dataimport下导入自己所创建的文档关联的数据库表数据即可。