sorl5.5导入mysql数据库中数据

来源:互联网 发布:b2c网络建站 编辑:程序博客网 时间:2024/06/04 18:35

1.首先将sorl安装在tomcat下,详细的安装过程这里不详细叙述。

2.创建core

    在solr_home(安装sorl时我的sorl_home路径是D:\install\apache-tomcat-8.5.13-windows-x64\apache-tomcat-8.5.13\bin\solr)下新建core文件夹,我创建的core名称为jobs。


    在jobs文件下新建data文件夹,并且将solr目录下的conf文件夹(  D:\solr-5.5.0\example\example-DIH\solr\db\conf)拷贝到jobs文件下。在conf文件夹下新建data-config.xml文件(或者从solr example文件夹下拷贝),修改其文件内容,如下:(我连接的是mysql数据库,driver是mysql的驱动,url中的test是数据库的名称,user和password是用户名和密码。数据库test下user表有三个属性 分别是id subject content ,类型都为varchar)

<dataConfig>
  
  <dataSource  type="JdbcDataSource"  driver="com.mysql.jdbc.Driver" 
            url="jdbc:mysql://localhost:3306/test"
user="root" password="***"/>
 <document>
<entity  name="user" query="SELECT * from user">  
  
            <field column="id" name="id" />  
  
            <field column="subject" name="subject" />  
<field column="content" name="content" />  

  
        </entity>  
  </document>
</dataConfig>

      修改conf目录下的sorlconfig.xml文件,ctrl+f输入requestHandler,找到形如下面几行的配置,修改<str name="config">data-config.xml</str>中的文件为data-config.xml。

 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">


      <str name="config">data-config.xml</str>
    
    </lst>
  </requestHandler>

       conf文件下没有schema.xml文件,将manage-schema修改为schema.xml文件,添加数据库test下user表的三个字段 id、subject、content,由于id field已存在,所以不需重复添加。

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

        导入jar包,将solr-5.5.0\dist下的solr-dataimporthandler-5.5.0.jar和solr-dataimporthandler-extras-5.5.0.jar放到D:\install\apache-tomcat-8.5.13-windows-x64\apache-tomcat-8.5.13\webapps\solr\WEB-INF\lib下。mysql-connector-java-5.1.41-bin.jar也放到其中。

  3.然后打开你们的浏览器,访问http://localhost:8080/solr/admin.html#/jobs,点击左侧的Dataimport菜单,不出意外的话,将不报错正确显示。若报错Sorry, no dataimport-handler defined!则上面过程没有成功。点command选择full-import,点击Execute导入数据建立索引。

4.点击左侧的query进行查询,将看到mysql中的数据导入了solr中。