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、

  • 相关阅读:
    测试某个方法的执行时间
    DataTable与DataGridView绑定
    《认知与设计——理解UI设计准则》笔记(7) 我们的注意力有限,记忆力也不完美
    常用软件收集
    通过反射得到某个实体的属性值
    获取某个字段的最大值
    C# ServerVariables参数说明
    C# 将网址转换为16进制可用网址,防盗链,%%
    不加修改权限的前提,要分辨出那些图片是删除不用的
    C# Winform 域名得到(查询)(服务器所在) IP  cs
  • 原文地址:https://www.cnblogs.com/zhangtianyuan/p/6946456.html
Copyright © 2011-2022 走看看