win10下安装Solr7.3.1,并导入mysql数据

从solr下载Solr的zip包http://mirror.bit.edu.cn/apache/lucene/solr/7.3.1/solr-7.3.1.zip

下载后解压到一个位置,我这里是G:\solr-7.3.1,下文用${solr_home}表示solr所在的路径

然后用cmd进入到${solr_home}\bin目录,然后执行,启动solr

solr start

此时进入http://localhost:8983/solr/#/ 进入到solr的首页


下面要去创建solr的core,因为这里是单机,所以只创建一个core


上面为默认信息,此时点击确定后,发现会提示失败

Error CREATEing SolrCore 'new_core': Unable to create core [new_core] Caused by: Can't find resource 'solrconfig.xml' in classpath or 'G:\solr-7.3.1\server\solr\new_core'
发现${solr_home}\server\solr\下面多了new_core一个空文件夹,此时再去下面建一个data文件夹。
然后把 ${solr_home}\server\solr\configsets\_default\conf下的文件拷贝到 ${solr_home} \server\solr\new_core下
此时重启solr
solr stop -all
solr start

然后重新添加一下core,发现core添加成功了


此时去看log面板,发现有警告


我们再到${solr_home}\server\solr\new_core下新建一个conf文件夹。

此时再次重启solr后,就没有警告了。

下面我们导入mysql数据:

新建一个表

CREATE TABLE `people` (
`id`  int NOT NULL ,
`name`  varchar(255) NULL ,
`telephone`  int NULL ,
`sex`  varchar(255) NULL ,
`address`  varchar(255) NULL ,
PRIMARY KEY (`id`)
);


1、jar包放入web项目:把自己以前用过的mysql-connector-java-5.1.6.jar(没有的话自行上网搜)和${solr_home}\dist下面的solr-dataimporthandler-7.3.1.jar放入到${solr_home}\server\solr-webapp\webapp\WEB-INF\lib目录下

2、然后往${solr_home}\server\solr\new_core\solrconfig.xml的<config></config>标签里添加下面内容

 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">    
         <lst name="defaults">    
               <str name="config">data-config.xml</str>    
         </lst>    
  </requestHandler>  	

然后在同一个目录下面新建一个data-config.xml  并写入下面内容,这里column是指数据库中的列明,name是指solr中显示的名称

<dataConfig>  
   <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.199.156:3306/test" user="root" password="root"/>  
   <document>  
       <entity name="people"  query="select * from people"  dataSource="source1" >  
           <field column="id" name="id" />  
           <field column="name" name="name" />  
           <field column="telephone" name="telephone" />  
	   <field column="telephone" name="telephone" />  
	   <field column="address" name="address" />  
       </entity>  
   </document>  
</dataConfig>

然后去修改${solr_home}\server\solr\new_core\manager-schema.xml文件,在<schema></schema>标签中加入作为solr索引的字段,这里不配的话,会导致后面导数据的时候不成功。加入字段。

这里要注意!!!原始的manager-schema.xml文件里面就已经有队id列的定义,所以此时不用自己手动再加。    

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

只需要加下面的内容

    <field name="name" type="string" indexed="true" stored="true" />  
    <field name="telephone" type="string" indexed="true" stored="true" />  
    <field name="sex" type="string" indexed="true" stored="true" />  
    <field name="address" type="string" indexed="true" stored="true" /> 

然后重启solr,发现进到Dataimport里面能够正常显示


此时往数据库加点数据,内容如下:


然后回到solr,到Dataimport点击Execute和Refresh Status按钮,可以看到


这个时候我们到Query栏点击查询按钮,可以看到数据能够搜索出来了


用json格式查询指定位置,可以查到指定的内容的实体


但是当前的搜索功能只支持精确查找,要是想通过模糊查询的话,还得用上solr的分词器。

=====================================

在log面板发现下面的内容

那我们就到${solr_home}\server\solr\new_core\conf下面建立一个dataimport.properties文件就好了

猜你喜欢

转载自blog.csdn.net/qq_16979575/article/details/80445185
今日推荐