跟益达学Solr5之使用Tika从PDF中提取数据导入索引(转字:http://www.tuicool.com/articles/JfUfaey)
2017-04-08 16:10
621 查看
开始此篇之前,我已经假定你已经学会了如何在Tomcat下部署Solr5啦。即启动Tomcat后你能看到Solr5的Web UI界面。OK,下面直接进入正题。首先你需要在你的core根目录下新建一个lib目录来存放依赖的jar包,当然你也可以直接到依赖的jar包扔到 Tomcat webapps目录下部署的solr程序的WEB-INF\lib目录下即如图:这里我采用了另外一种方式,把依赖的jar包放当前core的lib目录下,这样做的好处是每个core依赖的jar包当初存放在各自core的子目录下分类存放,更方便管理,全部扔tomcat下杂乱无章不好管理。如图新建lib目录:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/45190661cd43681186c24c6005e54a36)
然后往lib目录copy一些 DIH依赖的jar包,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/ec8004d695546497b3daff1ee0348378)
截图的那些jar包在solr5的解压包里都能找到,如果你实在找不到再来问我。然后solrconfig.xml配置文件里我们需要配置外部jar包的加载路径,如图配置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/bd44ec61d7620a23a19ca0f7479a2756)
dir参数里的 ./ 即表示当前core根目录,regex表示一个正则表达式,目的就是为了批量指定j加载哪些jar包.然后配置我们的dataimport处理器并指定data-config.xml配置文件的加载路径,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/3559c172cddcbded4675c605aefe9a2f)
然后编写配置我们的data-config.xml,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/97a91cef86f9d02a308687c28a27af54)
url="C:/docs/solr-word.pdf"即表示对C:\docs目录下的solr-word.pdf文件进行文本提取并创建索引,format表示把提取到的文本当作什么类型的数据,默认支持text(纯文本),xml,json,html等格式,不配置format默认值就是text.然后我们需要在schema.xml文件里定义我们的域,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/eb1cf6a35e78d6cea8b837b76b8d452c)
细心的你,肯定发现了我配置了IK分词器,IK分词器配置如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/844411500a833143185c3b7baa9643cb)
刚才我已经在core根目录的lib下复制了IK分词器jar包,我们还需要在core\conf目录下复制一份IKAnalyzer.cfg.xml配置文件,如果你有自定义IK扩展字典,那么你还需要把扩展字典文件的加载路径配置在IKAnalyzer.cfg.xml文件里,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/5282962f047ee518d140297fe3e4a49f)
solr-word.pdf这个测试PDF文件在solr5的解压目录下可以找到,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/9cac85e43c78b2aacc336eb726722e63)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/e76e185f5e0482426924f07bc65e2a68)
到此,准备工作就完成了,重启你的tomcat,访问你的Solr Web UI进行测试,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/d0a8898e6fe10df63e2a688c33e7e85d)
如果你执行后看到如图效果,就表明PDF导入Solr成功了,为了验证PDF成功导入Solr了,你可以切换到Query菜单进行查询验证,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/cc03f40cb55ebbbc0e074cb9021a63a4)
OK,关于如果导入PDF到Solr5就介绍到这儿了。相关配置文件我待会儿会在底下的附件里打包上传一份供你们参考,但希望你们还是要自己动手操作下,不要仅仅是直接解压复制我提供的示例,只有于遇到问题并不断自虐的过程中你才能学到经验。间隔很久没写了,让大家等久了,不好意思哈,写博客不易,大家且看且珍惜,也希望大家多多提意见,时间匆忙,难免会有所纰漏。如果你还有什么问题请加我Q-Q:7-3-6-0-3-1-3-0-5,或者加裙
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/3a26f5519735967344f5e37599d38ab3)
一起交流学习!
然后往lib目录copy一些 DIH依赖的jar包,如图:
截图的那些jar包在solr5的解压包里都能找到,如果你实在找不到再来问我。然后solrconfig.xml配置文件里我们需要配置外部jar包的加载路径,如图配置:
dir参数里的 ./ 即表示当前core根目录,regex表示一个正则表达式,目的就是为了批量指定j加载哪些jar包.然后配置我们的dataimport处理器并指定data-config.xml配置文件的加载路径,如图:
然后编写配置我们的data-config.xml,如图:
url="C:/docs/solr-word.pdf"即表示对C:\docs目录下的solr-word.pdf文件进行文本提取并创建索引,format表示把提取到的文本当作什么类型的数据,默认支持text(纯文本),xml,json,html等格式,不配置format默认值就是text.然后我们需要在schema.xml文件里定义我们的域,如图:
细心的你,肯定发现了我配置了IK分词器,IK分词器配置如图:
刚才我已经在core根目录的lib下复制了IK分词器jar包,我们还需要在core\conf目录下复制一份IKAnalyzer.cfg.xml配置文件,如果你有自定义IK扩展字典,那么你还需要把扩展字典文件的加载路径配置在IKAnalyzer.cfg.xml文件里,如图:
solr-word.pdf这个测试PDF文件在solr5的解压目录下可以找到,如图:
到此,准备工作就完成了,重启你的tomcat,访问你的Solr Web UI进行测试,如图:
如果你执行后看到如图效果,就表明PDF导入Solr成功了,为了验证PDF成功导入Solr了,你可以切换到Query菜单进行查询验证,如图:
OK,关于如果导入PDF到Solr5就介绍到这儿了。相关配置文件我待会儿会在底下的附件里打包上传一份供你们参考,但希望你们还是要自己动手操作下,不要仅仅是直接解压复制我提供的示例,只有于遇到问题并不断自虐的过程中你才能学到经验。间隔很久没写了,让大家等久了,不好意思哈,写博客不易,大家且看且珍惜,也希望大家多多提意见,时间匆忙,难免会有所纰漏。如果你还有什么问题请加我Q-Q:7-3-6-0-3-1-3-0-5,或者加裙
一起交流学习!
相关文章推荐
- http://www.tuicool.com/articles/vQRnum
- 使用maven编译Java项目 http://www.tuicool.com/articles/YfIfIrq
- MapReduce 计数器简介(转载自:http://www.tuicool.com/articles/qqyIBr)
- http://www.tuicool.com/articles/RzUzqei
- http://www.tuicool.com/articles/AfQRru
- http://www.tuicool.com/articles/EjMJNz
- 深入理解Java虚拟机笔记---方法调用http://www.tuicool.com/articles/vQVzIje
- http://www.tuicool.com/articles/NBBnum
- http://www.tuicool.com/articles/jyENje
- http://www.tuicool.com/articles/AjiYzmj
- http://www.tuicool.com/articles/NBBnum
- main函数调用、进程终止以及命令行参数和环境表http://www.tuicool.com/articles/FNnMNr
- ExtJS中表格控件的使用,属性设置和数据的获取(copyfrom:http://www.itzhai.com/extjs-form-controls-in-the-use-of-property-)
- 如何正确使用事件探察器解决性能问题(http://www.cnblogs.com/tom-fu/archive/2008/06/25/1146934.html#1235440)
- 使用SqlDataAdapter对象获取数据(转自:http://www.cnblogs.com/zyh-nhy/archive/2009/01/07/1371177.html)
- (四) solr 索引数据导入 :pdf格式
- 使用Modernizr 检测HTML5和CSS3浏览器支持功能 (转自http://www.adobe.com/cn/devnet/dreamweaver/articles/using-modernizr.html)
- 使用t-sql从身份证号中提取生日(转自:http://www.cnblogs.com/yukaizhao/archive/2008/05/22/sql_getbirthday_from_id.html)
- 使用Sqlserver事务发布实现数据同步(引:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html )
- sql语句完成数据的导入导出(转载自http://www.programbbs.com/doc/317.htm)