zoukankan      html  css  js  c++  java
  • solr从pdf、office文档中建立索引

    转载自 :http://www.superwu.cn/2015/05/28/2492/

    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"表示对错误视而不见

  • 相关阅读:
    ExtJs2.0学习系列(2)Ext.Panel
    ExtJs2.0学习系列(1)Ext.MessageBox
    ExtJs2.0学习系列(3)Ext.Window
    微软挖IBM公司Lotus合伙人 炫耀协同软件优势
    Vector
    H264和MPEG4起始码(startcode)
    Android有趣的全透明效果Activity及Dialog的全透明(附android系统自带图标大全)
    C++中的vector使用范例
    关于Vector
    用vector取代Cstyle的数组
  • 原文地址:https://www.cnblogs.com/Zhong-Xin/p/5620545.html
Copyright © 2011-2022 走看看