solr学习日记
文章平均质量分 50
RelFly
这个作者很懒,什么都没留下…
展开
-
solr学习日记···简单介绍
资料来源:《solr实战》(该书使用版本为4.7,仅有参考价值),官方文档 solr是一个构建在Lucene上的文档存储和搜索引擎,它的主要作用是针对数据的快速且精确的检索。需要掌握了解的知识点包括:内核管理,三个配置文件,索引管理,文本分析,请求处理器,搜索组件,查询解析器,分面查询,高亮显示,拼写检查及查询建议和结果分组等。 它的的下载地址:http://mirror.bit.edu.cn...原创 2017-12-12 10:43:02 · 211 阅读 · 0 评论 -
solr学习日记···搜索-searchComponent(搜索组件)
在介绍solr处理搜索请求的过程时,有说到用户的请求是先由请求处理器处理后再由查询解析器接手处理。而在请求处理器中其实还有一个——搜索组件。 搜索组件是在搜索处理器的生命周期内发生的可配置的处理步骤。搜索组件能够让搜索处理器实现在一次搜索请求中实现多个搜索功能。比如高亮,面搜索等。 下面就介绍一下相关的配置 1.自定义组件:<searchComponent name="que...原创 2018-03-05 16:39:21 · 1179 阅读 · 0 评论 -
solr学习日记···搜索相关
在介绍了solr的索引和文本分析的内容后,接着就是solr的核心内容–搜索。 solr执行搜索的过程是怎样的?基于怎样的规则搜索?如何处理搜索结果等等。 下面就简单介绍一下solr搜索相关的一些内容。 solr执行搜索的过程(图片取自官网): Request Handler(请求处理器)作为solr的请求入口,用户的搜索请求会发送到Request Hanlder处理。 Query P...原创 2018-02-24 14:51:47 · 234 阅读 · 0 评论 -
solr学习日记···搜索-Request Handler
上一章大致介绍了一下solr的搜索请求处理过程。这一章就先详细介绍一下Request Handler(请求处理器)。 请求处理器作为solr基本上所有的请求入口,它的作用是接受请求并做出相应的处理。除了上一节提到的搜索请求,其实solr提供了其它各种各样的请求处理器。其中除了默认的搜索处理器SearchHandler,还有处理索引更新请求的UpdateRequestHandler。 下面就从几...原创 2018-03-02 16:14:21 · 1198 阅读 · 0 评论 -
solr学习日记···搜索-Query Parser(查询解析器)
前面提到,solr的查询请求在经过查询请求处理器后会经由查询解析器解析解释查询的术语和参数。这一节就来介绍一下查询解析器支持的通用查询参数和常用的查询解析器。 通用查询参数: defType:指定处理的查询解析器。如果没有指定则默认由标准查询解析器处理。 sort:指定结果集排序。如果不指定,默认按照score desc排序,也就是solr评分的倒序排序。(score为solr的默认的字...原创 2018-03-09 16:37:33 · 874 阅读 · 0 评论 -
solr学习日记···文本分析-相关类梳理
solr文本分析的相关内容涉及到了许多类,这一节就来梳理一下这些类的关系,相信会对理解文本分析的配置有些帮助。首先是工厂相关类: 至于具体的工厂类就不一一列举了,它们都在包org.apache.lucene.analysis.util中。可以点击这里查看其它的方法和具体介绍。然后工厂产生的实例类: tokenizer产生的实例和filter产生的实例实际上都是token流,实际上文本分析原创 2018-01-10 17:31:29 · 230 阅读 · 0 评论 -
solr学习日记···文本分析-tokenizer
上一节配置文本分析的时候谈到了和两个标签,现在先就标签详细介绍一下。 在solr中定义了一些继承了TokenizerFactory的子类,它们就是中class属性填的值。这些子类的功能是将获得的文本,如建立索引时的字段文本或查询时的关键字文本按照各自定义的规则分解为一个token流。其中的每个token通常是原始文本的子序列。 我们可以去官方文档中看一下TokenizerFactory的介绍:原创 2018-01-02 16:19:51 · 517 阅读 · 0 评论 -
solr学习日记···文本分析-analyzer
solr中文本分析是很重要的一环,它发生在创建索引和搜索两个阶段。 在创建索引时,当一个字段被创建时,来自分析结果的令牌流被添加到索引中,并为该字段定义一组术语(包括位置、大小等)。 在查询时,对搜索的值进行分析,结果与存储在字段索引中的值相匹配。 文本分析的配置同样在schema配置文件中完成,它的元素标签为,属于元素的子元素。下面是它的一个普通例子:fieldTy原创 2017-12-28 15:59:36 · 314 阅读 · 0 评论 -
solr学习日记···文本分析-charfilter
前面已经介绍了tokenizer和filter。tokenizer用来产生token流,而filter负责对token流进行过滤。除了这两个外,其实还有一个charfilter。它的作用是在tokenizer之前对文本进行预处理。而且charfilter可以如同filter一样多个连接使用。 solr定义好的charfilter如下: 下面来简单介绍一下这几个charfilter: Map原创 2018-01-04 11:28:29 · 721 阅读 · 0 评论 -
solr学习日记···索引更新
前面说到了索引的新增和schema配置文件对字段的配置。现在来了解一下索引的管理。例如,我们需要更新一下某个文档某个字段值的时候应该怎么做。 首先列举一下solr更新处理器的常见请求: 1.添加:向索引添加一个或多个文档<add> <doc> <field name="**">**</field> </doc> <doc> ````````原创 2017-12-26 15:35:39 · 2263 阅读 · 0 评论 -
solr学习日记···文本分析-filter
上一节简单介绍了一下tokenizer,那么接下来来了解一下filter。 tokenizer按照自定义的规则分解文本产生了token流,而filter就是对token流进行进一步的过滤,针对token流中的每一个token顺序检验,符合的保留,不符合的丢弃,然后生成新的token流。所以我们可以将多个filter连接起来使用,对token进行多重过滤。不过要注意filter的连接顺序,一般来说会原创 2018-01-03 16:30:26 · 258 阅读 · 0 评论 -
solr学习日记···schema配置文件介绍
上一节索引中提到了字段需要在schema配置文件中进行声明配置(在5.5.5版本中,schema配置文件的名字默认为managed-schema)。本节就简单介绍schema配置文件元素信息和配置信息。 首先,在schema配置文件中有如下几种同级元素:<fields></fields>// 字段元素<types></types>// 字段类型<uniqueKey></uniqueKey>//原创 2017-12-16 19:06:59 · 634 阅读 · 0 评论 -
solr学习日记···索引
在solr的搜索机制中,建立索引是一个很重要的过程。过程如下: 1.将原始数据转化成solr可接受的文档:<add> <doc> <field name="id">777</field> <field name="name">MA147LL/A</field> </doc></add>add标签是向solr表示这是一个新添的文档,doc标签表示一个文档,一次可添加多个文档原创 2017-12-12 17:35:32 · 200 阅读 · 0 评论 -
solr学习日记···函数查询
solr在搜索中还提供了很多的函数辅助查询。 solr的几种查询解析器都支持函数查询。(标准查询解析器,DisMax查询解析器,eDisMax查询解析器) 函数查询中的函数可以是常量(数值或字符串文字)、字段、另一个函数。这些函数可以用来修改用户的结果排序。 下面介绍一下函数在solr查询中使用方法: 1.在QParser中通过func,frange调用。 2.在sort参数中使用。 ...原创 2018-03-22 15:15:08 · 253 阅读 · 0 评论