zoukankan      html  css  js  c++  java
  • Solr-5.3.1 dataimport 导入mysql数据

          最近需要计算制造业领域大词表每个词的idf,词表里一共九十多万个词,语料一共三百七十多万篇分词后文献。最开始尝试用程序词表循环套语料循环得到每个词的idf,后来又尝试把语料存入mysql然后建立全文索引再循环用sql语句去查每个词的idf,效率都十分不理想。

          最新的想法是利用solr搜索引擎的速度来做,所以首先要把mysql的数据导入solr。

    一、开启Solr服务

    1、下载solr-5.3.1.tgz包,解压之后为solr-5.3.1

    2、通过bin/solr start命令开启solr服务

    3、开启服务之后,默认是开启8983端口,此时就可以使用localhost:8983/solr/进行访问了

    二、从Mysql数据库中导入数据

    1、创建core或collection:bin/solr create -c 集合名

    2、从mysql官网中下载一个mysql-connector-java-5.1.25.zip压缩包,解压出一个mysql-connector-java-5.1.25-bin.jar包,将它分别copy到solr-5.3.1/server/lib和solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib当中(只copy到第一个路径应该就可以)

    3、将solr-dataimporthandler-5.3.1.jar和solr-dataimporthandler-extras-5.3.1.jar从solr-5.3.1/dist/文件夹下copy到solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib当中(只copy第一个文件应该就可以)

    4、修改solr-5.3.1/server/solr/集合名/conf/managed-schema文件为schema.xml 

    5、在schema.xml添加field(根据实际情况),如下:

    <field name="quanwen" type="text_general" indexed="true" stored="true" required="true" />

    6、修改solr-5.3.1/server/solr/collection/conf/下的solrconfig.xml的配置文件,增加一段添加数据库数据的xml,如下:

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

    7、在solr-5.3.1/server/solr/collection/conf/下创建data-config.xml文件,配置访问数据库的用户名、密码、查询语句,column对应数据库中字段、name对应solr的schema.xml中字段(根据实际情况),文件内容如下:  

    <dataConfig>
        <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://IP:3306/库名" user="账号" password="密码"/>
        <document>
            <entity name="item" query="select * from 表名">
                <field column="id" name="id" />
                <field column="quanwen" name="quanwen" />
            </entity>
        </document>
    </dataConfig>

    8、重启服务bin/solr restart

    9、

  • 相关阅读:
    接着上回,导包正确之后,出现javabean.Friend cannot be cast to java.util.List,的错误。找了很久。以为是User user0作为参数,改成了String username还是错误,看了看listFriend.jsp没有错误,我想会不会是包多了,导致类型复杂。最后发现包少了一个:
    c语言
    软链接和硬链接的联系和区别
    centos7怎么永久修改hosname
    虚拟机静态ip设置
    Centos、Ubuntu开启命令模式
    Kubernetes重要概念理解
    人生道路上,永远没有“容易”二字
    知识【英文】
    模板【kruskal重构树】
  • 原文地址:https://www.cnblogs.com/zhangtianyuan/p/6946456.html
Copyright © 2011-2022 走看看