`
- 浏览:
81582 次
- 性别:
- 来自:
信阳
-
solr学习二(ExtractingRequestHandler)
通过ExtractingRequestHandler,slor能够读取word、pdf等文件,并用于全文搜索。废话少说,进入主题:
solr服务端是配出来的:
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>
fmap.content是tika读取文件存放的位置,filestream是在schema.xml中的Field,该Field最好是stored="false",因为根据文章内容建立索引后无需将文章保存。
<str name="lowernames">true</str>建议去掉,不然Field中的字段都必须是小写!!(官网坑爹 )
<lst name="date.formats">制定格式为yyyy-MM-dd,Field只能接受yyyy-MM-dd格式的字符串。
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>
必须有的几个Field(name自定义):
<field name="id" type="string" indexed="true"
stored="true" required="true"/>
<uniqueKey>id</uniqueKey>
solrconfig.xml中配置的filestream:
<field name="filestream" type="text_general" indexed="true" stored="true"
omitNorms="true"/>
也可以配置日期格式:
<field name="releasetime" type="date" indexed="true" stored="true" />
对于dynamicField,我的理解是为metadata准备的,metadata是tika中获取的文件的信息,如:
[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也可以不用默认的属性,自己配存什么属性。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
#### 二、Solr 与 Lucene 区别 - **Lucene**:是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索应用。Lucene 仅提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,...
**二、SOLR基本操作** 1. **增(Add)**:使用SOLR的HTTP API,通过POST请求将文档添加到索引。请求格式通常为`http://localhost:8983/solr/core_name/update?commit=true`,其中`core_name`是你的核心名,请求体...
【Solr 学习资料详解】 Solr 是一个基于 Apache Lucene 的全文搜索服务器,它为企业提供了高效、可扩展的搜索解决方案。Solr 不仅提供了丰富的查询语言,还优化了索引和搜索性能,使得在大型网站、电子商务平台等...
solr 学习笔记主要涵盖了 Solr 的基本安装与配置,以及 Solr 服务器复制的配置,这些都是初学者需要掌握的基础知识。 Solr 是一款基于 Lucene 的全文搜索引擎,广泛应用于大数据检索和文本分析。在安装 Solr 时,...
#### 二、Lucene与Solr的关系 Lucene是一个基于Java的全文检索工具包,它并不直接提供完整的搜索应用,而是作为构建块,用于集成到各种应用程序中,提供索引和搜索功能。Lucene是当前最流行且开源的全文检索工具包...
### Solr 学习笔记:关键命令使用说明 Solr 是一个开源的、高性能的全文检索引擎,基于 Java 开发,常被用于大型网站的搜索系统。本文将围绕给定内容中的关键命令进行详细的解析,主要包括 Solr 的启动、集群管理、...
solr学习入门经典教程,赶紧学习吧,从solr的搭建讲起,中文分词器的配置
二、添加分词器 为了实现中文分词,我们需要添加IKAnalyzer分词器。步骤如下: 1. 将`IKAnalyzer2012FF_u1.jar`、`IKAnalyzer.cfg.xml`和`stopword.dic`文件复制到`WEB-INF\lib`目录下。 2. 修改`schema.xml`文件,...
Solr 学习文档简介 Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,是基于 Lucene 的全文搜索服务。Solr 可以独立运行在 Jetty、Tomcat 等这些 Servlet 容器中。Solr 提供了一个管理界面,通过管理界面可以...
在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...
Solr学习笔记 Solr 是一种基于 Lucene 的搜索服务器,可以满足企业对搜索解决方案的需求。它支持层面搜索、命中醒目显示和多种输出格式,易于安装和配置,並且附带了一个基于 HTTP 的管理界面。 Solr 的主要特点...
【Solr学习总结配置方法】 Solr是一款基于Apache Lucene的全文检索服务器,它提供了分布式、可扩展且高度可用的搜索和分析能力。Solr的主要特点是简化了索引创建和查询服务,使得开发者只需编写少量代码即可实现...
【Solr学习心得与总结笔记】 一、站内搜索的技术选型 站内搜索的实现方式多样,但针对不同需求,技术选型有所不同: 1. 使用Lucene:Lucene是Java开发的全文检索库,提供了底层的搜索算法,但直接使用Lucene需要...
### hbase+solr创建二级索引完整操作 #### 一、概述 本文档详细介绍了如何利用HBase和Solr创建二级索引的过程。通过整合HBase与Solr的优势,可以构建高性能的数据存储与检索系统。HBase作为分布式列族数据库,能够...
Solr学习笔记(三)——Solr客户端开发实例 在本文中,我们将深入探讨Solr客户端的开发,以便更好地理解如何在实际项目中利用Solr的强大功能。Solr是一款开源的全文搜索引擎,提供了高效的搜索和索引功能。通过Solr...
本文档主要针对Solr的二次开发进行深入探讨,旨在帮助开发者了解如何在现有基础上进行定制化开发,以满足特定的业务需求。 首先,开发环境的准备至关重要。在进行Solr二次开发之前,你需要确保拥有正确的开发工具和...