跟益达学Solr5之使用Tika从PDF中提取数据导入索引(转字:http://www.tuicool.com/articles/JfUfaey)

开始此篇之前,我已经假定你已经学会了如何在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目录:


然后往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,

或者加裙


一起交流学习!

时间: 2025-01-21 17:38:47

跟益达学Solr5之使用Tika从PDF中提取数据导入索引(转字:http://www.tuicool.com/articles/JfUfaey)的相关文章

跟益达学Solr5之使用Tika从PDF中提取数据导入索引

    开始此篇之前,我假定你已经学会了如何在Tomcat下部署Solr5啦.即启动Tomcat后你能看到Solr5的Web UI界面.OK,下面直接进入正题.          首先你需要在你的core根目录下新建一个lib目录来存放依赖的jar包,当然你也可以直接到依赖的jar包扔到Tomcat webapps目录下部署的solr程序的WEB-INF\lib目录下即如图:     这里我采用了另外一种方式,把依赖的jar包放当前core的lib目录下,这样做的好处是每个core依赖的jar包

跟益达学Solr5之批量索引JSON数据

     假定你有这样一堆JSON数据,   Json代码   [     {"id":"1", "name":"Red Lobster", "city":"San Francisco, CA", "type":"Sit-down Chain", "state":"California", "tag

跟益达学Solr5之从MySQL数据库导入数据并索引

  最近有小伙伴跟我抱怨说:益达,最近博客更新的有点慢呐.其实不是我变懒了,我是不想因为数量而降低了博客的质量,我需要抱着对你们负责的态度来写每一篇博客,绝不能含糊啊,所以,还望大家多多包涵呐. 今天群里一朋友问我Solr如何对数据库表里的数据进行索引,为此,今晚特地更新此篇博客,这里我以Solr当前最新版本5.1.0,数据库MySQL为例进行讲解说明. 首先我们需要准备一张测试表,如图:      测试表创建好了之后,我们需要让表里插入几条测试数据,如图:  然后需要把E:\solr-5.1.

跟益达学Solr5之使用Tomcat部署Solr

  最近忙着面试以及生活琐事把时间都霸占了,博客拖了4天没更新了,让各位久等了,望多多包涵!不过还好,工作已经敲定了,终于可以安心的学习Solr并分享我学习的点点滴滴啦!         上回我们在Jetty下部署了,不过我想小伙伴们使用Tomcat还是要多点,所以这回我们就来试试把Solr5部署到Tomcat下,这里以Win7 64bit Tomcat7.0.55为例,linux环境下同理,没太大区别:         首先你要去Solr官网下载Solr5.x的zip压缩包,至于怎么下载我这里

跟益达学Solr5之增量索引MySQL数据库表数据

   Solr5中如何增量索引MySQL数据库表中的数据,这个问题之前有某个童鞋问过我,今天午休时间就腾空更新篇博客,希望能帮助到你们.        为了测试方便,我首先从京东网站弄了点测试数据,如图:    这里要声明下,我不是在给京东商城打广告哈,仅仅是随便找个网站弄点测试数据,这部分工作全是我无聊手动插入MySQL数据库中的,如图:  建表SQL以及测试数据,我待会儿会上传到底下的附件里.然后你需要在solrconfig.xml配置文件中启用全量导入和增量导入请求处理器,如图:  然后分

跟益达学Solr5之使用IK分词器

   在Solr中该如何使用IK分词器呢,这是小伙伴们问的频率比较高的一个问题,今晚特此更新此篇博客.其实之前我在其他博客里已经使用了IK分词器,只是我没做详细说明.        在schema.xml配置中其实有很多关于分词器的配置示例,我从中摘录一段配置示例,比如: Xml代码   <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100&qu

跟益达学Solr5之在Eclipse下编译Solr5源码

    2015年6月7日,Solr已经更新到5.2.0,所以这里我以5.2.0版本为例,你使用Solr5.x都是类似的区别不大.开始之前,首先你需要去Solr官网去下载Solr5源码,如图:          taz包其实是可以使用Winrar解压的,解压后如图:  我是解压到F:\javazipfile目录下,官方默认提供的源码包并不是一个标准的Eclipse Java Project,需要使用ivy进行构建,通过ivy的构建可以将下载下来的源码包转换成一个标准的Java Project,然

跟益达学Solr5之使用MMSeg4J分词器

   要想在Sor中使用MMSeg4J分词器,首先你需要自定义一个TokenizerFactory实现类,虽然直接配置Analyzer类也可以,但那样无法配置Analyzer构造函数的参数,不够灵活,存在弊端,所以我一直都是以扩展TokenizerFactory的方式来讲解类似MMSeg4J这样的中文分词器在Solr中的使用.       MMSegTokenizerFactory类我花了3个多小时修改了源码并经过N多测试,表示已经可以使用,我主要的是针对Lucene5 API对MMSegTok

跟益达学Solr5之拼音分词

 应群友强烈要求,特此更新此篇博客.其实在我的Lucene5系列博客里我已经介绍了拼音分词,遗憾的是,大家不能举一反三,好吧,还是我亲自上马吧!         首先我们来看看我当初使用Lucene5是如何实现的,  在Solr5中,我们只需要为IKTokenizer扩展一个IKTokenizerFactory,为PinyinTokenFilter扩展一个PinyinTokenFilterFactory,为PinyinNGramTokenFilter扩展一个PinyinNGramTokenFil