2015年05月28日 ⁄ hadoop ⁄ 评论数 1

使用solr从pdf、office文档中建立索引和从数据库中建立相似,只不过这里需要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

solr从pdf、office文档中建立索引相关推荐

  1. 在html文档中建立两个表单,职称计算机考试Dreamwaver中表单的创建与应用

    职称计算机考试Dreamwaver中表单的创建与应用 表单在网页中主要负责数据采集功能.下面小编给大家讲述的是职称计算机考试Dreamwaver中表单的创建与应用,大家可以参考阅读,更多详情请关注应届 ...

  2. 如何让竖行文本框从下往上_如何在Office文档中插入(使用)横排、竖排文本框并设置文字方向...

    ①:为什么要使用文本框? 文本框相当于一个容器,里面可以容纳文字对象!放置于文本框的文字对象,基于文本框,可形成一个统一的整体: ②:使用文本框有什么好处? 作为一个容器,文本框就像图片对象一样,周边 ...

  3. linux在文档中查找内容,【Linux】用grep在文档中查找内容

    有时候,我们需要在文档中查找一些内容,常用grep.它在文档查找相关内容并输出匹配行. > 查找某关键字 在system.log中,查找包含keyword的行 grep 'keyword' sy ...

  4. 快速提取Word文档中的所有图片

    Word文档中有很多张图片,现在客户想把图片都保存下来,是需要一个一个的鼠标右键另存为图片吗?有没有更快速的批量提取方法呢? 任何问题都难不倒微软大神的,快来看,具体操作跟小编一起学! 先来看一下我们 ...

  5. 绕过Office文档的受保护视图

    介绍 我想分享最近发现的一个有趣现象,提前说明,这是我基于最新的Windows 10操作系统以及最新的的MS Office 365所发现的.这也是我在开发网络钓鱼工具PhishAPI时偶然发现的. 大 ...

  6. office受保护视图_使用受保护的视图激发恶意Office文档

    office受保护视图 介绍 (Intro) I wanted to share an interesting behavior I discovered with Microsoft Office ...

  7. 在线Office文档解决方案

    该解决方案提供如下功能 一.支持Office2003,Office2007,Office2010三种版本 二.在线Office文档阅读模式 1)用户只能阅读文档,不能对文档做任何修改 2)菜单自定义, ...

  8. word文档里怎么嵌入文档_如何在Microsoft Word文档中嵌入字体

    word文档里怎么嵌入文档 When you email someone a copy of your Word document or PowerPoint presentation and the ...

  9. WORD 最快捷文献引用方式,避免尾注标注的弊端;在word的docx文档中标注在原文中是上标,但是另存为pdf格式后失效。

    流程 1.建立列表,注意格式设置成[i]: 2.目录栏-引用-交叉引用: 3.标注改上标: 使用替换功能: 查找: [^#]或[^#^#],这里[^#^#]代表搜索形如[12]的2个数字型 替换:(格 ...

最新文章

  1. 【怎样写代码】参数化类型 -- 泛型(三):泛型之类型参数
  2. 新增的querySelector、querySelectorAll测试
  3. Bootstrap 学习之js插件(模态框(Modal)插件)
  4. 选择指定的MySQL数据库
  5. 这就是80后的我们!
  6. centos6.5安装mongodb2.6
  7. 怎么用python做我的世界皮肤_Python爬取mc皮肤【爬虫项目】
  8. hdu 1507 Largest Rectangle in a Histogram 动态规划计算最大面积
  9. STM32 CubeIDE快速创建工程(图文详解)
  10. 群发邮件软件和邮件群发工具哪个好?如何群发邮件不进入垃圾箱
  11. Qt C++制作桌面天气,无边框、透明窗口,心知天气API,开放源码
  12. html如何设置顶部,css中文字如何设置在顶部
  13. 企业微信品牌私域运营案例合集
  14. 高新技术企业申报流程!
  15. 销售不愿意用企业微信怎么办?
  16. c#根据年月获取所有日期集合、根据年份计算总周数,根据年份和周数获取一周的开始及结束时间
  17. bim综合软件:一次性快速解锁所有轴网,生成轴网
  18. 计算机桌面背景滚动播出,哪个知道怎么设置壁纸滚动
  19. Vue--》超详细教程——vue-cli脚手架的搭建与使用
  20. 推荐几个Google Sitemap工具

热门文章

  1. odoo13中的模型类(模型属性、字段属性、字段类型)
  2. 深度学习-机器学习(神经网络的应用 上)
  3. Class 类文件结构
  4. OpenCASCADE:形状愈合之概述
  5. wxWidgets:wxSystemOptions类用法
  6. boost::units模块实现展示信息单元系统
  7. boost::program_options模块实现使用命令行和配置文件的测试程序
  8. boost::math模块非有限环回的基本测试
  9. boost::hana::count_if用法的测试程序
  10. boost::log模块实现一个简单日志的例子