Solr技术配置,以及数据导入和分词器的使用

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获取数据,和用分词器进行查找,将在下一节继续介绍,绝点有用给点个赞,收藏一下,关注一下,谢谢。

猜你喜欢

转载自blog.csdn.net/javaChengXuY/article/details/83511192