您的位置:首页 > 其它

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

2017-04-07 23:05 267 查看
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中,并建立索引。如此当灌完数据后,就可以进行搜索了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐