Solr环境搭建以及应用
一、环境搭建
- 环境
JDK 1.7
Tomcat 8
Solr5.5
- 解压solr
- 把D:\Application\webService\solr-5.5.5\server\solr-webapp\webapp文件夹放到tomcat下的webapps目录下。改名为solr。(改名这步是为了方便访问不改或者改成其他的也可以)目录如下
- 将solr-5.5.0文件中server/lib/ext文件夹中的jar包复制到tomcat中
- webapps/solr/WEB-INF/lib 将图中这几个jar包也放入该文件夹下
- 将solr-5.5.0文件中server/resources中的log4j.properties 复制到粘贴到tomcat中webapps/solr/WEB-IINF/classes (classes文件需要自己创建)中 如下图
- 在tomcat文件夹同一级中创建mysolrhome文件夹(任意位置都可以)
- 7.创建好后将solr-5.5.5\server\solr\solr.xml拷贝至D:\Application\webService\mysolrhome
- 8、在mysolrhome文件夹下新建mycore文件夹
在mycore文件夹将solr-5.5.5文件中server中solr文件夹中所有文件进行复制粘贴到mycore文件夹中
- 9、进入D:\Application\webService\apache-tomcat-8.5.30\webapps\solr\WEB-INF下打开web.xml文件修改solr/homr路径
- 10、现在可以打开tomcat中bin目录下的startup.bat运行tomcat
- 11、启动成功后,访问localhost:8081/solr/admin.html如果成功可看到如下界面
二、mysql数据导入
1、新建core
在D:\Application\webService\mysolrhome中新建testcore文件夹
2、将solr-5.5.5\server\solr\configsets\basic_configs中的conf文件夹复制粘贴到testcore中
3、添加core
访问localhost:8081/solr/admin.html 进入solr管理页面点击左侧的core admin点击add core
4、在name 和instanceDir下都输入testcore(在步骤一中取得名称)
5、添加完成后在就可看见刚刚建立的core
6、进入D:\Application\webService\mysolrhome\testcore可以看到多了一个data文件夹和一个properties文件
7、配置分词器
将ik-analyzer-solr5-5.x.jar复制进D:\Application\webService\apache-tomcat-8.5.30\webapps\solr\WEB-INF\lib
打开D:\Application\webService\mysolrhome\testcore\conf中的managed-schema文件添加如下
重启tomcat服务器
8、配置solrconfig.xml
打开testcore文件下conf文件夹下的solrconfig.xml文件
加入一个请求处理者配置,添加以下节点信息
在后面的数据导入中,请求的就是dataimport这个请求处理器。
9、新建data-config.xml文件
在同一级目录下新建data-config.xml文件
加入以下内容
- <?xml version="1.0" encoding="UTF-8"?>
- <dataConfig>
- <dataSource name="source1" type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver" url="jdbc:mysql://219.144.66.22:9090/solrtest"
- user="root"
- password="@chu173137@"
- batchSize="-1" />
- <document>
- <entity name="user" transformer="DateFormatTransformer" pk="id" dataSource="source1"
- query="select id,customerName,loginName,loginPwd,state from users">
- <field column="id" name="id"/>
- <field column="customerName" name="customerName"/>
- <field column="loginName" name="loginName"/>
- <field column="loginPwd" name="loginPwd"/>
- <field column="state" name="state"/>
- </entity>
- </document>
10、配置managed-schema
- <?xml version="1.0" encoding="UTF-8" ?>
- <schema name="user" version="1.7">
- <field name="_version_" type="long" indexed="true" stored="true"/>
- <field name="_root_" type="string" indexed="true" stored="false"/>
- <field name="id" type="string" indexed="true" stored="true" required="false" multiValued="false" />
- <field name="customerName" type="string" indexed="true" stored="true" required="false" multiValued="false" />
- <field name="loginName" type="string" indexed="true" stored="true" required="false" multiValued="false" />
- <field name="loginPwd" type="string" indexed="true" stored="true" required="false" multiValued="false" />
- <field name="state" type="string" indexed="true" stored="true" required="false" multiValued="false" />
- <uniqueKey>id</uniqueKey>
- <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
- <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
- <fieldtype name="binary" class="solr.BinaryField"/>
- <fieldType name="text_ik" class="solr.TextField">
- <analyzer type="index" useSmart="false"
- class="org.wltea.analyzer.lucene.IKAnalyzer" />
- <analyzer type="query" useSmart="true"
- class="org.wltea.analyzer.lucene.IKAnalyzer" />
- </fieldType>
- </schema>
11、加mysql驱动
在D:\Application\webService\apache-tomcat-8.5.30\webapps\solr\WEB-INF\lib中添加
12、同步数据
点击execute完成数据同步