solr学习二(ExtractingRequestHandler)

2023-05-16

[size=large]通过ExtractingRequestHandler,slor能够读取word、pdf等文件,并用于全文搜索。废话少说,进入主题:
[color=darkred]solr服务端是配出来的:[/color]
solrconfig.xml:
<requestHandler name="/update/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<!-- All the main content goes into "text"... if you need to return
the extracted text or do highlighting, use a stored field. -->
<str name="fmap.content">filestream</str>
<str name="lowernames">true</str>
<str name="uprefix">ignored_</str>

<!-- capture link hrefs but ignore div attributes -->
<str name="captureAttr">true</str>
<str name="fmap.a">links</str>
<str name="fmap.div">ignored_</str>
</lst>
<lst name="date.formats">
<str>yyyy-MM-dd</str>
</lst>
</requestHandler>
[color=red] fmap.content是tika读取文件存放的位置,filestream是在schema.xml中的Field,该Field最好是stored="false",因为根据文章内容建立索引后无需将文章保存。
<str name="lowernames">true</str>建议去掉,不然Field中的字段都必须是小写!!(官网坑爹 :cry: )
<lst name="date.formats">制定格式为yyyy-MM-dd,Field只能接受yyyy-MM-dd格式的字符串。[/color]

schema.xml:
要全文搜索的文本,我都是用了
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
[color=red]必须有的几个Field(name自定义):[/color]
<field name="id" type="string" indexed="true"
stored="true" required="true"/>
<uniqueKey>id</uniqueKey>
[color=red]solrconfig.xml中配置的filestream:[/color]
<field name="filestream" type="text_general" indexed="true" stored="true"
omitNorms="true"/>
也可以配置日期格式:
<field name="releasetime" type="date" indexed="true" stored="true" />


[color=red]对于dynamicField,我的理解是为metadata准备的,metadata是tika中获取的文件的信息[/color],如:
[Revision-Number, 2, Last-Author, 微软用户, Template, Normal.dot, Page-Count, 1, subject, , Application-Name, Microsoft Office Word, Author, 微软用户, Word-Count, 5, xmpTPg:NPages, 1, Edit-Time, 600000000, Creation-Date, 2012-02-14T02:30:00Z, Character Count, 32, stream_size, 24064, Company, 微软中国, Content-Type, application/msword, Keywords, , Last-Save-Date, 2012-02-14T02:31:00Z
]
当然,metadata也可以不用默认的属性,自己配存什么属性。

[/size]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

solr学习二(ExtractingRequestHandler) 的相关文章

  • java防止 csrf 攻击 --- 采用 spring .

    CSRF xff08 Cross site request forgery xff09 xff0c 中文名称 xff1a 跨站请求伪造 xff0c 也被称为 xff1a one click attack session riding xff
  • Gson解析数组多类型元素

    why used gson Gson is a Java library that can be used to convert Java Objects into their JSON representation It can also
  • js中获取时间new Date()详细介绍

    1 var myDate 61 new Date Date 返回当日的日期和时间 getDate 从 Date 对象返回一个月中的某一天 1 31 getDay 从 Date 对象返回一周中的某一天 0 6 getMonth 从 Date
  • 如何让一个行内元素(如一张图片)在div中居中

    xff08 1 xff09 第一种 xff1a 用vertical align lt div class 61 34 method1 34 gt lt span class 61 34 tiptop 34 gt lt span gt lt
  • 释放webpack tree-shaking潜力之webpack-deep-scope-analysis-plugin

    在上周末广州举办的 feday 中 webpack 的核心开发者 Sean 在介绍 webpack 插件系统原理时 隆重介绍了一个中国学生于 Google 夏令营 在导师 Tobias 带领下写的一个 webpack 插件 https gi
  • iframe跨域通信的通用解决方案

    此方案已有新版本 请查看 iframe跨域通信的通用解决方案 第二弹 xff08 终极解决方案 xff09 本文章可做技术学习供继续交流 一 背景 在这个Web页面越来越丰富的时代 xff0c 页面通过iframe嵌入其他的页面也越来越常见
  • C++实现轻量级RPC分布式网络通信框架

    前言 xff1a 2022 4 14更新 xff1a 在我重新回顾这篇文章的时候 xff0c 我觉得里面内容有点乱 xff0c 主要还是因为RPC里面涉及到很多概念和知识点 本来代码内容就已经挺抽象了 xff0c 还要结合各种概念 xff0
  • 浅谈JavaScript设计模式

    创建型模式 xff1a 该模式处理的是用于创建对象的各种机制 工厂方法抽象工厂建造者原型单例 结构型模式 xff1a 考虑的是对象的组成以及对象彼此之间的关系 适配器桥接组合装饰器外观享元代理 行为型模式 xff1a 关注的是对象之间的依赖
  • Ardupilot-SITL仿真模拟调试

    1 配置SITL仿真调试 span class token punctuation span span class token operator span waf configure span class token operator sp
  • PX4——Range Finder 篇

    Range Finder 此处选用的是 Benewake 下的 Lidar 参数设置 General Configuration 除了官方的参数设置外 xff0c 我在 EKF2 中还找到了 EKF2 RNG AID 参数 xff0c 用来
  • STM32 时钟 定时器基础

    STM32 Clock Tree 时钟源 HSI xff1a xff08 High Speed Internal xff09 内部的 RC 震荡电路产生时钟信号 HSE xff1a xff08 High Speed External xff
  • Albumentation

    文章目录 AlbumentationClassificationSegmentationDetectionKeyPoints Augmentation Albumentation 所有实现的变换 变换以及支持的类型 此处 Classific
  • Pytorch 分布式训练

    文章目录 分布式训练OverviewDP or DDPDPDDP TCP 初始化Moco TCP 初始化例子 ENV 初始化可选后端进程间通信操作Template 区分概念 xff1a Machine vs Device 多机 Machin
  • FLANN C++ 使用

    FLANN FLANN 库 xff0c 包含 KNN 算法 众多工程 xff08 例如 OpenCV xff09 使用了 FLANN xff0c 这里单独介绍这个库 xff0c 方便以后单独使用 由官方 Latex 编译的文档链接 xff0
  • HDF5 C++ 使用

    HDF5 简介 HDF5 可以用来存储异构数据对象 xff0c 包括图片 xff0c 表 xff0c 图 xff0c 甚至 PDF 和 Excel HDF5 中的数据存储在不同组 Group 中 xff0c 类似于 Linux 文件树结构
  • Pandoc 使用

    文章目录 PandocInstallationLatex 到 Word命令详解 Pandoc Installation MacOS brew span class token function install span pandoc Lat
  • Docker -- DockerFile 讲解

    文章目录 DockerFile 指令讲解FROMCOPY 写在开头 xff1a 实验室给的电脑只能装 20 04 然后跑仿真需要在 18 04 20 04 的 Gazebo 居然不能支持 xff01 要是有人知道如何在 20 04 中使用
  • MySQL介绍及CRUD操作。

    目录 一 基本介绍 1 数据库结构 2 数据库增删改查 二 增删改查语句 1 insert 添加数据 2 update 修改操作 3 delete 删除操作 4 select 查询操作 5 加密和系统函数 6 流程控制函数 三 表的增删改查
  • Docker 容器

    文章目录 容器图形界面XserverVNC 容器 图形界面 Xserver 采用 ROS 官网的教程 这里相当于是将容器的图形信息发送给宿主的 Xserver 然后显示在你的电脑屏幕上 首先需要打开主机 Xserver 权限 xff1a x
  • C++ -- OpenMP 笔记

    64 toc OMP CMake Setup set CMAKE CXX STANDARD 14 set CMAKE CXX STANDARD REQUIRED ON find package OpenMP REQUIRED Set Fla

随机推荐