solr简单使用

solr简单使用,第1张

一条索引包含了

Tips

solrJ 创建core只是把自己的文件夹加入到solr中,各种文件还要自建立

<field name="5#城市" type="string" indexed="false" stored="true"/>

pf 查询字段 qf 设置字段性对查询字段的比重 bf 设置权重的值

Searchers are presented with the indexed terms, along with numerical counts of how many matching documents were found were each term Faceting makes it easy for users to explore search results, narrowing in on exactly the results they are looking for

简单说,solr的facet特性会搜索特定的facetitem,返回query中查询字段在item字段上的统计值且仅仅返回统计数量

facetpoivt 实现了多维统计例如统计班级学生的成绩分布,可以设置poivt=class,poivt=socore 返回的结果就是每个班各个成绩段学生的数量

在SolrJ中使用facet功能需要手动开启: querysetFacet(true) 然后根据需要 queryset(,) 添加条件

facet 简单使用

全文检索是一种将文件中所有文本与检索项匹配的文字资料检索 方法 。那么你对全文检索了解多少呢以下是由我整理关于什么是全文检索的内容,希望大家喜欢! 全文检索的简介 基本介绍 全文检索是将存储于数据库中整本书、整篇 文章 中的任意内容信息查找出来的检索。它可以根据需要获得全文中有关章、节、段、句、词等信息,也就是说类似于给整本书的每个字词添加一个标签,也可以进行各种统计和分析。例如,它可以很快的回答“《红楼梦》一书中“林黛玉”一共出现多少次”的问题。 与之相关的议题 全文

<query />

在标签<query/>里面可以进行一些优化搜索的配置。在Solr的查询过程中,运用到一个叫searcher的组件,在一个特定的时间只能有一个“active”的searcher。这个active searcher在Lucene索引中有一个只读的映射。当新的document加入到Solr的时候,当前的searcher在搜索结果中是看不到这个新加的document的。那么问题就来了:怎么样才能让新添加的文件出现在搜索结果中?一个解决这个问题的办法就是关闭当前的searcher并对新的索引文件打开一个新的searcher。

在admin界面中,查看collection1的Plugins/Status,点击core:

第一行展示的就是当前的Searcher,当我们重新对文件建立索引,在example的exampledocs下运用:

Java -jar postjar xml:

刷新界面: 

可以看到Searcher改变了。这是因为postjar提交个commit指令。从上面的示例我们知道commit指令可以创建一个新的searcher,使得可以检索到最新的文件,当新searcher创建的时候要先销毁旧的searcher。这时候如果还有基于旧searcher的查询在进行中,Solr就要等待所有进行中的查询结束。然后,所有基于当前searcher的cached对象都要失效。因为之前建立起来的cache都失效了,所以建立一个新的searcher可能是很耗时的。假设一个用户在返回的结果中进行翻页 *** 作,当用户从第二页翻到第三页的时候一个新的searcher打开了,此时用户就会一直等待第三页的加载,但是这时候之前加载的document都已经失效,所以就会让用户感觉到加载很慢。

对于上述问题,Solr提供了一系列的工具,Solr在建立一个searcher的时候有称为warming的概念,即让新的searcher在后台建立,并让当前的searcher继续工作直到后台的searcher完全warm。

Warming a new searcher

Solr运用这个策略来使得在一段时间内还是返回旧的结果,而避免用户因为新建searcher而降低查询的性能。有两种warming的策略:autowarming new caches from the old caches(从旧的cache中创建新的cache)和execute cache-warming queries(重新执行一些queries来填充新的cache)。

Cache-warming queries是一种preconfigured query来构建新searcher的cache。

上面的配置定义了一系列的queries当newSearcher事件出现的时候就执行(如在commit之后)。

<useColdSearcher/>

如果为false,那么Solr就会阻塞直到warming searcher完成所有的warming queries。

<useColdSearcher>false</useColdSearcher>

如果为true,Solr会马上注册一个warming searcher。

<maxWarmingSearchers>

定义在后台可以同时warming的最大searcher数量。默认值为2

我们下载的Solr包后,进入Solr所在的目录,我们可以看到以下几个目录:build、client、dist、example、lib、site、src。下面分别对其进行介绍。

1) build:该目录是在ant build过程中生成的,其中包含了未被打包成jar或是war的class文件以及一些文档文件。

2) client:该目录包含了特定语言的Solr客户端API,使得使用其他语言的用户能通过>

Lucene:一个开源的搜索库

Engine:屏蔽 Lucene *** 作细节的抽象层

>

以上就是关于solr简单使用全部的内容,包括:solr简单使用、什么是全文检索全文检索的简介、Solr基本配置(三)——Searcher等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9728960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)