1 下载好solr 4.9.1版本 解压solr的zip包,目录如下。
2 将dist目录下的solr-4.9.1.war文件复制到tomcat的webapps目录下,并将文件命名为solr.war。
3 启动tomcat,会发现solr.war已解压成为文件夹,在删除tomcat 的webapps目录下的solr的war包。
4 复制solr解压包lib/ext下的jar文件到tomcat的lib目录下
5 在计算机本地新建一个文件夹solr_home, 然后复制solr-4.9.1\example\solr 下的所有文件到 solr_home下,后其中bin目录无用删除掉。
6 修改配置文件\webapps\solr\WEB-INF\web.xml 在最后面添加如下: D:/solr_home-指向你的创建solr_home的路径
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value> D:/solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
7 访问solr(http://localhost:8080/solr/),
如出现以下界面,则solr部署成功。
至此solr部署完成,下面开始连接mysql数据库的配置。
1 拷贝数据库连接jar包mysql-connector-java-5.1.46到tomcat下的lib目录。
2 此时solr_home下有collection1,复制collection1并从命名,假如命名为news。
3 打开solr_home\news\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>
4 在solr_home\news\conf下创建data-config.xml文件,这文件主要就是连接mysql数据,并设置导入solr数据的语句,例子如下:
<?xml version="1.0" encoding="utf-8"?>
<dataConfig>
<!--数据源 -->
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/smbms" user="root" password="(填你的数据库密码)"/>
<document name="hotel_doc">
<entity name="hotel" pk="id"
query="select id,userName,address from smbms_user "
deltaImportQuery="select id,userName,address from smbms_user where id='${dih.delta.id}'"
deltaQuery="SELECT id as id FROM smbms_user where modifyDate > '${dih.last_index_time}'">
<field name="id" column="id" />
<field name="userName" column="userName" />
<field name="address" column="address" />
</entity>
</document>
</dataConfig>
5 打开solr_home\news\conf下的schema.xml,只保留
删除文件中所有其它的field.
6 在删除所有 dynamicField标签和 copyField标签,在 下添加
<field name="id" type="int" indexed="true" stored="true"/>
<field name="userName" type="string" indexed="true" stored="true"/>
<field name="address" type="string" indexed="true" stored="true"/>
<field name="text" type="text_general" indexed="true" stored="false"
multiValued="true"/>
其中 name=“id”, <field name=“userName”, <field name=“address”,根据自己连接数据库的字段自行配置。 这个标签是固定不变的。
7 将solr-4.9.1\distsolr目录下的dataimporthandler-extras-4.9.1.jar和solr-dataimporthandler-4.9.1.jar两个jar包复制到
apache-tomcat-7.0.90\webapps\solr\WEB-INF\lib 下。
8 此时从起tomcat,在访问solr,此时报红,有Invalid Number: MA147LL/A错误,别着急。
9 solr_home\news\conf下打开elevate.xml文件,将最后一段下面的代码注释掉就ok了。
<query text="ipod">
<doc id="MA147LL/A" /> put the actual ipod at the top -->
<doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
</query>
10 重启tomcat,在进入solr就正常了。进入如下操作,就将数据从mysql中导入solr中。
11 非常完美的显示数据,很棒。
看右边就是从mysql中导入的数据,至此solr第一步已经完成,第二步包括从solr获取数据,和用分词器进行查找,将在下一节继续介绍,绝点有用给点个赞,收藏一下,关注一下,谢谢。