最近需要计算制造业领域大词表每个词的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、

Solr-5.3.1 dataimport 导入mysql数据的更多相关文章

  1. solr7.4创建core,导入MySQL数据,中文分词

    #solr版本:7.4.0 一.新建Core 进入安装目录下得server/solr/,创建一个文件夹,如:new_core 拷贝server/solr/configsets/_default/con ...

  2. Sqoop导入mysql数据到Hbase

    sqoop import --driver com.mysql.jdbc.Driver --connect "jdbc:mysql://11.143.18.29:3306/db_1" ...

  3. 如何导出和导入mysql数据(数据迁移)

    . 导出数据库数据 mysqldump -uroot -p dp_db > dumpout.sql 其中 root是账户名 dp_db是需要导出的数据库名称 dumpout.sql存储导出的数据 ...

  4. HeidiSQL工具导出导入MySQL数据

    有时候,为了数据方便导出导入SQL,我们可以借助一定的工具,方便我们队数据库的移植,可以达到事半功倍的效果.在这里,就给大家简单的介绍一款能方便导出或者导入MySQL的数据. ①首先,选择你要导出的数 ...

  5. excel导入mysql数据

    excel加载mysql数据 1.第一步,选择从mysql导入数据 2.单击会出现弹框: 3.可能有的同学的,这里缺少插件,例如: 4.去下载 这个 插件安装即可.https://dev.mysql. ...

  6. Solr导入MySQL数据之dataimport-handler

    Solr不借助手动JSolr编程情况下也可以将Mysql的数据导入到Solr中.实现方式是安装dataimport-Handler从关系数据库将数据导入到索引库. 1.向SolrCore中加入jar包 ...

  7. solr学习笔记-导入mysql数据

    操作系统:LINUX CENTOS 6.7 solr安装目录:/usr/local/solr-6.1.0 1.准备工作: 1.1.创建数据表: CREATE TABLE `mytable` ( `id ...

  8. Solr安装并导入mysql数据

    参考博客:https://blog.csdn.net/u013160017/article/details/81037279 下载地址:https://lucene.apache.org/solr/m ...

  9. Sqoop导入MySQL数据

    导入所有表: sqoop import-all-tables –connect jdbc:mysql://ip:port/dbName --username userName --password p ...

随机推荐

  1. Git-回滚操作

    git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit git log 查询回滚版本唯一commit标识代码 git reset --ha ...

  2. easyui时间控件用js实时获取选定的时间的取法

    easyui时间控件用js实时获取选定的时间的取法var   datetime=$("#id").datetimebox("getValue");不能用 $(& ...

  3. HTML5-坦克大战一完成坦克上下左右移动的功能(一)

    坦克大战一完成坦克上下左右移动的功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  4. [ Python - 4 ] python 装饰器

    装饰器有很多经典的使用场景,例如插入日志.性能测试.事务处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的. 装饰器有两种写法: 1. 装饰器不传参数 2. 装 ...

  5. crontab执行脚本失败问题

    如果脚本在终端执行正常,而在crontab里执行失败, 一般跟root用户无关,而是和系统变量有关,一般加上绝对路径执行java命令即可: /usr/java/jdk/bin/java xxx.jar

  6. 前端nginx后端tomcat记录真实ip

    修改nginx主配置文件:/usr/local/nginx/conf/nginx.conf proxy_set_header Host $host; proxy_set_header X-Real-I ...

  7. 山东省第六届省赛 H题:Square Number

    Description In mathematics, a square number is an integer that is the square of an integer. In other ...

  8. 执行程序(例如UltraEdit)在WIN7下添加到右键菜单

    把下面提供的代码复制到记事本,保存为注册表文件(*.reg),右键合并即可.注意把最后一行换成你自己的路径. Windows Registry Editor Version 5.00 [HKEY_CL ...

  9. validate+jquery+ajax表单验证

    1.案例 1.1 Html form表单内容 <form class="cForm" id="cForm" method="post" ...

  10. (1)java版本

    jdk9新增 jshell工具, 类似python的命令行界面.