<blockquote><h4>认识Solr</h4></blockquote>
Solr是一个高性能,采用Java5开发Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。,
<blockquote><h4>Solr工作方式</blockquote>
文档通过Http利用XML 加到一个搜索集合中。Solr查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
<blockquote><h4>Solr4-MySQL集成搭建</blockquote>
*准备
1.1下载solr http://mirrors.hust.edu.cn/apache/lucene/solr/
1.2解压solr-4.10.4,进入dist目录
1.3将solr-4.10.4.war复制到tomcat中的webapps下,启动tomcat,war包自动解压
1.4修改solr下的web.xml,在web-app中添加
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
1.5在D盘创建solrhome文件夹(根据个人需求)
1.6回到解压的solr-4.10.4目录,打开文件夹:solr-4.10.0\example\solr,复制所有内容到D:\solrhome
1.7打开文件夹:solr-4.10.0\example\lib\ext,复制所有jar包到tomcat的webapps\solr\WEB-INF\lib下。
1.8启动tomcat
1.9在D:\solrhome目录下,新建一个user文件夹。
1.10在解压的solr-4.10.4\example\multicore\core0目录中,复制conf文件夹到D:\solrhome\user中。
1.11在solr web page中新建core:
1.12创建完成之后下载mysql驱动包http://dev.mysql.com/downloads/connector/j/
1.13将solr-4.10.4/dist下的solr-dataimporthandler-4.10.4.jar、solr-dataimporthandler-extras-4.10.4.jar和mysql-connector-java-5.1.18-bin.jar拷贝到webapps\solr\WEB-INF\lib下
1.14修改D:\solrhome\user\conf下的solrconfig.xml,追加
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
1.15在同一目录下创建data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/zhangxp"
user="root"
password="123456"/>
<document name="search_object">
<entity name="user"
query="select id, username, age
from user">
</entity>
</document>
</dataConfig>
1.16因为在schema.xml中没有配置username、age的filed属性,所以需要手动配置
<!--用户表-->
<field name="username" type="string" indexed="true" stored="true" multiValued="false" />
<field name="age" type="string" indexed="true" stored="true" multiValued="false" />
1.17以上配置成功之后,启动服务
1.18点击execute执行命令导入数据
1.19点击Query查看数据是否导入成功