solr从pdf、office文档中建立索引-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

solr从pdf、office文档中建立索引

简介: 2015年05月28日 ⁄ hadoop ⁄ 评论数 1 使用solr从pdf、office文档中建立索引和从数据库中建立相似,只不过这里需要tika来解析这些文档。8.1 配置一个handler 这个handler首先要在solrConfig.xml中配置,如下所示:                   <requestHandler name="/dataim
2015年05月28日 ⁄ hadoop ⁄ 评论数 1

使用solrpdfoffice文档中建立索引和从数据库中建立相似,只不过这里需要tika来解析这些文档。8.1 配置一个handler

这个handler首先要在solrConfig.xml中配置,如下所示:

      
 

        
 

<requestHandler name="/dataimport"    class="org.apache.solr.handler.dataimport.DataImportHandler">

   
 

    <lst    name="defaults">

   
 

      <str    name="config">tika-data-config.xml</str>

   
 

       </lst>

   
 

</requestHandler>

    
   
 

                                 
 

这里和7.1几乎一样,只不过修改了配置文件名(当然也可以不修改)。

8.2 文档配置tika-data-config.xml

     
 

        
 

<dataConfig>  

   
 

       <dataSource type="BinFileDataSource" />

   
 

           <document>

   
 

            <entity    name="files" dataSource="binary"    rootEntity="false"

   
 

               processor="FileListEntityProcessor"

   
 

            baseDir="D:/temp"    fileName=".*.(doc)|(pdf)|(xls)|(ppt)|(docx)"

   
 

           
 

   
 

            recursive="true">

   
 

                <field    column="fileAbsolutePath" name="id" />

   
 

                <field    column="fileSize" name="size" />

   
 

                <field    column="fileLastModified" name="lastModified" />

   
 

                <entity

   
 

                       name="documentImport"

   
 

                       processor="TikaEntityProcessor"

   
 

                       url="${files.fileAbsolutePath}"

   
 

                       format="text">

   
 

                    <field    column="file" name="fileName"/>

   
 

                    <field    column="Author" name="author" meta="true"/>

   
 

                    <field    column="title" name="title" meta="true"/>

   
 

                    <field    column="text" name="text"/>

   
 

                </entity>

   
 

                </entity>

   
 

           </document>

   
 

</dataConfig>

    
   
 

    
 

这里只说上面(7.2)没有说过的属性。

·        fileName :(必选)使用正则表达式匹配文件

·        baseDir : (必选) 文件目录

·        recursive : 是否递归的获取文件,默认false

·        rootEntity :在这里必须是false(除非你只想索引文件名)。在默认情况下,document元素下就是根实体了,如果没有根实体的话,直接在实体下面的实体将会被看做跟实体。对于根实体对应的数据库中返回的数据的每一行,solr都将生成一个document

·        dataSource :如果你是用solr1.3,那就必须设为"null",因为它没使用任何dataSourde。不需要在solr1.4中指定它,它只是意味着我们不创建一个dataSource实例。在大多数情况下,只有一个DataSource(JdbcDataSource),当使用FileListEntityProcessor 的时候DataSource不是必须的

·        processor:只有当datasource不是RDBMS时才是必须的

·        onError :默认是"abort","skip"表示跳过当前文档,"continue"表示对错误视而不见

更多精彩内容请关注:http://bbs.superwu.cn

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章