solr6的学习与使用(四):数据导入功能

solr应用之数据导入:

solr的数据导入大体提供了两个方式,full-import 和 delta-import ,当然还能通过请求逐条增加。这里主要说说full-import,之后再补充关于逐条增加数据等操作。对于delta方式,由于暂时无这方面需求,就不讨论了,网上资料很多,可以自己看看。

我用的导入方式是通过jdbc从MySQL中full-import导入数据,这种方式简单粗暴,适合快速搭建一个可用的搜索业务使用。实测50万数据5分钟导完,需要强调的是,如果需要一次导入大量的数据,solr默认的512M的内存是不够的,调大内存请往前面文章看吧。

1. 拷贝jar包到server目录下(先下载mysql-connector-java-5.1.10-bin.jar,链接:http://pan.baidu.com/s/1kV9kv1H  密码:a869): 

cp  [path to solr install]/solr/dist/*   [path to solr install]/solr/server/solr-webapp/webapp/WEB-INF/lib/

cp mysql-connector-java-5.1.10-bin.jar [path to solr install]/solr/server/solr-webapp/webapp/WEB-INF/lib/

2. 在solrHome中相关Core的conf配置文件中,配置solrconfig.xml配置文件,新增如下组件:

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

3.从上述配置可以看到,数据导出的配置文件为solr-data-config.xml,这个文件是用来配置需要导入的数据的来源(MySQL的某个表)和字段的(solr的manage-schema字段对应的MySQL字段),当然你可以自己定义这个配置文件的名称:

<dataConfig>
  <dataSource type="JdbcDataSource"
    driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://127.0.0.1:3306/testDb"
    user="root"
    password="root"/>
  <document>
    <entity name="content" query="select id, title, content, bookname, firstlevel, secondlevel from content">
      <field column="id" name="id"/>
      <field column="title" name="tittle"/>
      <field column="content" name="content"/>
      <field column="bookname" name="bookname"/>
      <field column="firstlevel" name="firstlevel"/>
      <field column="secondlevel" name="secondlevel"/>
    </entity>
  </document>
</dataConfig>
如上配置好, 重启solr即可。

4.数据导入,我这里是从页面导入的:


这里,entity是你从solr-data-config.xml配置好的,执行后,它会从MySQL中把数据灌到solr中,并建立索引。如此当灌完数据后,就可以进行搜索了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值