solr面试题:solr笔记.docx

上传人:太** 文档编号:62825214 上传时间:2022-11-22 格式:DOCX 页数:11 大小:22.83KB
返回 下载 相关 举报
solr面试题:solr笔记.docx_第1页
第1页 / 共11页
solr面试题:solr笔记.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《solr面试题:solr笔记.docx》由会员分享,可在线阅读,更多相关《solr面试题:solr笔记.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1. solr内置查询参数有哪些? q -查询字符串,必须的。Solr中使用的基本查询。 fq - (filter query)过虑查询,作用:在q查询符合结果中同 时是fq查询符合的,sort -排序,格式:sort=+,+.。 例如: (inStock desc, price asc) 表示先“inStock”降序,再price”升序,默认是相关性降序。 start -返回第一条记录在完整找到结果中的偏移位置,0开 始,一般分页用。 rows -指定返回结果最多有多少条记录,配合start来实现分 页。 wt - (writer type)指定输出格式,可以有 xml, json, php

2、, ph ps,后面solr 1.3增加的,要用通知我们,因 为默认没有打 开。 fl- field作为逗号分隔的列表指定文档结果中应返回的Fiel d集。默认为“为”,指所有的字段。“core”指还应返回记分。 df -默认的查询字段(field), 一般默认指定qt - (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。37 .当使用solrj连接soIrCloud的时候我们只需要知道zookeeper地址即可对吗?不对,还需获取collection的name.什么是自动提交?如何配置?硬提交是关于持久化的,软提交是关于可见性的有两种自动提交方式:L

3、自动硬提交,2启动软提交硬提交:一般提交又或者叫硬提交(hard commit),使用这种提交会把文档立即持久化到磁盘,并可以让你能立马查询到它,因为它会开启一个 新的searcher,但是它缺点很明显,就是很耗性能,并会阻塞到提交任务完成,使用它是非常昂贵的操作。在提交的文档的url里使用comirdt=true即可使用。软提交:软提交,这种提交不会立即把数据写到磁盘,但它可以使你能立 即查询到它,就是所谓的支持near real-time (NRT) searching近实 时查询,而且这样的操作不昂贵。在soIrConfig.xml中配置如下:1自动硬提交$solr.autoCommit

4、.maxTime:30000)false$solr.autoSoftCommitmaxTime:5000).什么是软提交?如何配置?38题.Solrclient mit()的提交方式是软提交吗?不是,是硬提交。41 .软提交的好处是什么?这种提交不会立即把数据写到磁盘,但它可以使你能立即查询到 它,提高读写效率.自动提交可能带来索引的丧失,solr是如何解决这个问题的?在soIrConfig.xml中配置如下属性:maxDocs:当内存索引数量到达指定值的时候,将内存的索引DU MP到硬盘中,并通知searcher类加载新的索引maxTime:每隔指定的时间段,自动的COMMIT内存中的索引数

5、 据,并通知Searcher类加载新的索引。42 .谈谈lucene和solr的关系?Lucene是全文检索引擎工具包,不能够独立对外提供搜索和索引服 务。Solr是一个全文检索服务器,可以单独对外提供全文检索服务,并且 可扩展、可配置的,提供比lucene更多的查询语句,对lucene进行 了性能的优化。Solr和lucene 一样,不提供视图的渲染。43 .描述一下工程中你是如何使用solr的?首先,在linux系统上搭建solr服务,配置汰分词器,去schema.xml配置文件中定义field域(每种字段的域),需要高亮显示的字段在schema.xml中指定的field中的属性store

6、设置为true ,比方:设备的名称,设备描述(但凡可以作为查询条件的均可 高亮)等等,当然还可以设值高亮的属性hl -设置字段高亮显示(内置还有一些参数). solr逻辑运算符有哪些?布尔操作符AND、&布尔操作符。R、|布尔操作符NOT、,. solr的竞品你知道有什么?1. ) s: 22. ElasticSearch :基于Lucene的搜索服务器,基于RESTful web, Elasticsearch是用Java开发的,开源的,多用于云计算中, 能够到达实时搜索,稳定,可靠,快速,安装使用方便。3. Solandra :它就是结合了 Solr 与 Cassandra(Cassandr

7、a 是 一套开源分布式NoSQL数据库系统)的实时搜索引擎程序,支持 Solr的大多数默认特性(search,faceting,highlights)数据复制,分 片,缓存及压缩这些都由Cassandra来进行Multi-master(任意结 点都可供读写)实时性高。4. 描述一下solr在整个应用的架构中所处的位置?l.SoIr作为一个独立的全文检索服务器运行。在内部使用JAVA开 发的Lucene完成全文本索引和查询,提供RESTful API完成对大 多数编程语言的支持。灵活的外部配置使得可以不用编写任何的 JAVA代码就能完成工作,同时还提供了插件式的架构来支持更为 高级的用户定制。2

8、.Solr运行在其他的服务器应用程序之外,单独对外提供服务, 拿设备管理系统来说,我们要提供一些用户界面:例如,可以发 起添加设备的界面,可以查看设备的界面,可以发起领用设备的 界面,作为设备管理员,可能还需要对不正确的设备进行调整。 无论添加、领用、查看设备等哪个功能,都是围绕着设备展开的。 这些信息会同时存在于平台系统的数据库中和Solr系统中,只不 过可能会因为存放在不同系统中所要到达的目的和用处不一样, 信息的格式和完整度也会有差异。(2)5。1的查询基于15丁间,也就是说,一个查询的本质就是一 个简单的 请求URL和一个结构化的响应文档。响应文档 的结构主要包含:XML、JSON、C

9、SV,还有其他格式。这也 意味着,大量的客户应用程序可以使用Solr,比方WEB应用、 富客户端应用和移动设备。任何支持 协议的平台都能和 Solr进行交互。2 . solr是解决什么问题的?严格来说Jucene负责数据存储,而solr只是一个引擎提供搜索 和插入而已,跟数据库的解释器一样,有什么好处呢,比方一个数据 库有一个字段存了 10。个字,你想从这些字里面搜一个词的时候, 普通的数据库只会让你使用like去查询,他会遍历每个字去模糊匹 配,效率很低,而且有些是无法查询的,当然除了像一些特殊的数据 库带有分词,比方postgresql ,那lucene做的事情就是分词,然后 去匹配分词的

10、词中是否有你想搜的词就好了,当然了,为了提高这种检索效率和内存节省底层做了很复杂的事情,可以这么简单的认为, 全文搜索这件事情上数据库是无法满足的3 .解释一下什么是solrcore?(1) solrcore就是solr中的一个实例,也就是索引库,一个solr 可以有多个solr实例,多个solr实例之间互不干扰.解释一下什么是solrhome?Solrhome是solr的根目录,也是存放索引库的位置,一个solrhome中可以有多个solrcoreo4 .解释一下什么是collection?Q)单机版的solr.collection就是so卜core是so卜的一个实例(索引库)SoIrClo

11、ud中:collection是逻辑结构上solrcore的集合(3)在SoIrCloud集群中逻辑意义上的完整的索引。它常常被划分 为一个或多个Shard,它们使用相同的Config Set。如果Shard 数超过一个,它就是分布式索引,SoIrCloud让你通过 Collection名称引用它,而不需要关心分布式检索时需要使用 的和Shard相关参数。5 .如何启动solr实例?6 .如何启动solr集群?7 .如何在指定端口上启动solr实例?ll.solr集群必须依赖zookeeper吗?(1)不是。但是使用zookeeper是最方便12 .什么是高亮处理?Scheam.xml (配置

12、field fieldType IK 分词器)其实就是多了 highlightin (高亮)的字段,并没有改变原来返回的字段内容。(2)如果要对某field做高亮显示,必须对该field设置stored =true *Solrj有三种高亮处理的方法Standard Highlighter(最常用),根据查询的doddSet,获取Documents ,并获取当前document的需要高亮的field的value根据query的term和该field的value做匹配算法13.solr中有哪些重要的配置文件?(1) solnxml (配置集群时候使用,配置集群信息例:SoIrCloud的ip端口,

13、连接超时时间等等)(2) SoIrConfig.xml (配置lib标签的内容(solr实例需要的jar),请求的处理)(3) Schema.xml(配置 filed ,配置 filedType ,配置分析器) 14,用哪一个标签来定义solr的一个数据类型?.用哪一个标签来定义solr的一个字段?15 . sol r的字段有哪些分类?常用的:StringField不分词 索引 存储自定 常用于id, 一些唯一的列LongField 分词 索引存储自定 常用于数字列StoredField不分词 不索引存储常用于图片,音频等只需要展示的列TextField 分词 索引存储自定 适用于任何类型(s

14、olr配置分词器的属性类型,一定是此类型)17,fq的作用是什么?过滤条件找第一题.fl的作用是什么?找第一题.如何设定默认查询字段?找第一题.如何设定局)灵?找第一题.做增量索引的时间依据是从哪里获取?(全量索引)再索引库中 collcation/conf/dataimport.properties 中的 last_index_time以这个时间为时间依据.什么是分词?Solr再做索引流程时,需要根据solr的配置文件(scheam.xml)中所定义的分词器的类型进行分词,将文档分成一个一个的term18 .如何设置停用词?在solr服务的WEB-INF/classes中的stopword.

15、dic文件中设置.停用词的作用?作用:停用词将不会被分词,节省存储空间,提高查询效率.如何做中文分词?常用IK分词器做中文分词,具体流程:先分词,后过滤过滤:(1)去标点(2)大写转小写(3)去停留词.什么是 soIrCloud?SolrCloud(solr云)是Solr提供的分布式搜索方案,当你需要大规 模,容错,分布式索引和检索能力时使用SoIrCloudo当一个系统的 索引数据量少的时候是不需要使用SoIrCloud的,当索引量很大,搜 索请求并发很高,这时需要使用SoIrCloud来满足这些需求。SoIrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要 思想是使用

16、Zookeeper作为集群的配置信息中心。它有几个特色功能:1)集中式的配置信息2)自动容错3)近实时搜索4)查询时自动负载均衡.如何创立 soIrCloud?第一步 搭建zookeeper集群第二部:搭建tomcat集群第三部:配置每个每个solr实例的solrhome第四部将solr的配文件上传到zookeeper统一管理第五步:配置每个solr服务的端口及ip地址第六步:每一台solr和zookeeper关联第七部:完成配置启动服务.在soIrCloud模式下,配置文件保存在哪里?保存在zookeeper的服务中,可以通过zookeeper的客户端链 接查看.描述soIrCloud的逻辑

17、结构?索引集合包括两个 Shard (shardl 和 shard2) , shardl 和 shard2 分别由三个Core组成,其中一个Leader两个Replication, Leader是 由zookeeper选举产生,zookeeper控制每个shard上三个Core的索 引数据一致,解决高可用问题。用户发起索引请求分别从shardl和shard2上获取,解决高并发问 题。19 .描述soIrCloud的物理结构?三个Solr实例(每个实例包括两个Core),组成一个SoIrCloud。20 .什么是shard的拷贝?Shard replica(副本),一个shard是由多个副本构成

18、的,注意 一个Shard中的replica包含的内容逻辑上应该是一样的Shard 的数据只是其中一份Replica ,不是这些副本的组合。21 .一个shard可以有多少个拷贝?根据实际的业务需求,最多不超过10个。22 .某一个shard的拷贝中是不是一定有一个拷贝为leader?不一定,每个shard中不一定都有拷贝的leader,但是如果请求 被分配到当前没有leader的shard中该请求会默认去同级的shard 中寻找leaderoleader的作用什么?真正处理请求事务,当某个leader挂掉后,其他的Replica会从 新选举新的leader.用哪一个solrj类来管理单机版的solr连接? SolrServerSolrServerserver=new SolrServer( :/localhost:8080/solr);35 .用哪一个solrj类来管理集群版的solr连接?CloudSolrServerCloudSolrServer server = new CloudSolrServer(zkHost);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁