1下载solr安装包
2下载tomcat安装包
3启动tomcat
4将solr目录下/server/webapps/solr.war放到已启动的tomcat下的webapp中
5复制解压的文件夹内 /server/lib/ext 下所有jar包 复制到 tomcat内 : /webapps/solr/WEB-INF/lib
6解压文件夹下 /dist/solr-dataimporthandler-4.10.3.jar 复制到 tomcat内 : /webapps/solr/WEB-INF/lib(这里有三个jar包)
二:Solr服务器的搭建
步骤:
(1)在磁盘中创建一个文件目录,即认为该文件为Solr服务器的相关属性。
(2)在上述的文件目录中,复制一个Tomcat服务器(最好是纯净的,即webapps目录下不包含多余的项目)
(3)从lucene.apache.org官网或者其他资源网下载Solr资源(由于Solr目前更新都很频繁,差不多是两个月就有新版本,而且对于Solr4和Solr5之间存在着不同,所以这个根据需要下载版本吧。我用的是Solr4版本中的4.10.3版本)
(4)将下载的solr中,进入下图的目录,然后将war包拷贝到Tomcat中的webapps下面
(5)解压拷贝过去的war包,并将解压完成之后,将之前的war包进行删除,原因就是我们需要修改解压的内容,否则不删除,在部署之后又会覆盖,所以要进行删除处理。
(6)从下载好的solr中的下面的目录,将jar包拷贝到Tomcat下的solr中的lib目录
(7)创建一个Solr服务器的核心家文件夹,并将其与tomcat保持同级。
(8)修改tomcat目录webapps下的solr的web.xml文件内容,修改solr核心家的内容
(9)运行tomcat
(10)运行成功后,访问链接http://localhost:8080/solr 即可进入到solr服务器的首页。
四:配置solr服务器导入数据库数据
步骤:
(1)导包
首先是需要在solr的核心库中添加一些导入数据的包,需要如下:
注意:因为在collection中,最初是没有lib这个文件目录的,所以需要自己创建一个lib目录,然后把相应的jar包添加进去。
(2)在collection中的config目录下的solrconfig.xml中添加数据导入处理器
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
(3)在collection中的config目录添加一个data-config.xml(这个与上面一步配置的名字要相同)
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/需要导入数据的数据库名"
user="数据库账号"
password="数据库密码"/>
<document>
<entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products">
<field column="pid" name="id" />
<field column="name" name="product_name" />
<field column="catalog_name" name="product_catalog_name" />
<field column="price" name="product_price" />
<field column="description" name="product_description" />
<field column="picture" name="product_picture" />
</entity>
</document>
</dataConfig>
备注:上面的内容,其实一看就大体明白了什么意思,主要就是配置要导入哪个数据库,导入的字段有什么,如果不配置的话,那么solr服务器是无法判断得到的字段的,所以需要进行配置,相当于一个映射配置。
注意:我上面的entity里面的内容就是我需要导入数据的字段的些内容,所以,根据需求进行自行匹配。
(4)在collection中config目录下的schema.xml添加如下内容:(这个是为了能够便于对导入数据库中的数据,与solr中的域进行匹配,因为我们都知道,如果solr域中不存在相应的域,那么是无法进行查询修改删除操作的,那么就不利于我们在以后的项目中对数据库相应字段的处理,所以,这一步是可有可无,但是配置了就有很多的好处)
<!--配置从数据库导入到sorl中的数据的字段内容,所以每次要从数据库导入什么就需要配置什么-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_price" type="float" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false"/>
<field name="product_picture" type="string" indexed="false" stored="true"/>
<field name="product_catalog_name" type="string" indexed="true" stored="true"/>
<field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true" />
<copyField source="product_name" dest="product_keywords" />
<copyField source="product_description" dest="product_keywords" />
(5)重启tomcat,然后登陆solr服务
(6)进行添加数据的处理
(7)点击上面图中的Execute按钮即可进行数据的导入了,