博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
solr
阅读量:5900 次
发布时间:2019-06-19

本文共 1728 字,大约阅读时间需要 5 分钟。

一、介绍:
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
 
二、下载tar包解压后的目录结构:
(1)bin:是脚本的启动目录
(2)contrib:第三方包存放的目录
(3)dev-tools:跟开发工具相关的包
(4)dist:编译打包后存放目录,即构建后的输出产物存放的目录
(5)docs:solr文档的存放目录
(6)example:示范例子的存放目录,这里展示了DIH,即数据导入处理的例子
(7)licenses:权限相关的
(8)lucene:solr基于Lucene开发,本身是lucene代码的目录,但是构建后都为空,相关东西已经到jar包中
(9)server:即solr搜索引擎框架,基于jetty web服务器开发的。包含jetty服务器的配置。(这个目录就类似于一个包含了tomcat服务器,里面有一个基于solr的web工程)
 
server目录下:
contexts:jetty的环境
etc:jetty的配置文件
lib:jetty服务器的jar包
logs:日志文件
modules:jetty的启动模式
resources:资源文件
scripts:脚本文件
solr:solr服务器的配置文件,solr基于jetty服务器开发的
solr-webapp:solr的web工程
tmp:临时文件
start.jar:启动jar包。通过java命令就可以启动一个基于jetty服务器的web工程
 
三、核心(core)

A.

管理,solr服务器框架中可以包含多个core实例,每个core有自身的配置文件及数据。

解压后的文件/server/solr/collection1就是一个core,这个core由/server/solr/solr.xml管理。(solr6后,solr.xml不需要手动维护,自动添加核心)

如图:

B.
创建多个core
在实际的项目中,有时候一个solr下面不可能只有一个core,会有多个。比如企业搜索、产品搜索等等。这时你可以复制一份或多份/example/solr/collection1到你的solr home中,并改成你想要的文件名
 
C.
认识core的目录结构
 conf:主要用于存放core的配置文件,
(1)、managed-schema(solr6以后的命名)用于定义索引库的字段及分词器等,这个配置文件是核心文件。
类似于关系数据库中的表结构,在添加文当到索引中时需要指定Schema,Schema文件主要包含三部分:字段(Field)、字段类型(FieldType)、唯一键(uniqueKey)
*字段类型(FieldType):用来定义添加到索引中的xml文件字段(Field)中的类型,如:int,String,date,
*字段(Field):添加到索引文件中时的字段名称
*唯一键(uniqueKey):uniqueKey是用来标识文档唯一性的一个字段(Feild),在更新和删除时用到
(2)、solrconfig.xml定义了这个core的配置信息,它定义Solr如果处理索引、高亮、搜索等很多http请求,同时还指定了缓存策略,用的比较多的元素包括
data:主要用于存放core的数据,即index-索引文件和log-日志记录
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

转载于:https://www.cnblogs.com/FuQing/p/7644073.html

你可能感兴趣的文章
在大公司呆5年,你就废了
查看>>
mac mamp mysql no start servel
查看>>
Docker简易版:使用更少击键运行Redis,MongoDB
查看>>
laravel框架快速入门(一)
查看>>
swing 鼠标监听addMouseMotionListener
查看>>
js如何实现10秒倒计
查看>>
ubuntu下解决鼠标滚轮不能使用的问题
查看>>
隐马尔可夫(HMM)、前/后向算法、Viterbi算法 再次总结
查看>>
LAV Filters
查看>>
iOS11 automaticallyAdjustsScrollViewInsets和estimatedRowHeight适配
查看>>
订阅linux kernel的mail list
查看>>
mysql 批量更新多条记录(且不同值)的实现方法
查看>>
Hadoop上路_02-hadoop介绍和环境准备
查看>>
JFinal多参数搜索条件自动组装及参数传递
查看>>
c++ ios_base register_callback方法使用
查看>>
Java中为什么需要Object类,Object类为什么是所有类的父类
查看>>
css3 -webkit-flex 布局
查看>>
大数据Benchmark
查看>>
windows server2008多用户远程登陆设置方法
查看>>
sencha touch巧妙使用请求超时提升用户体验
查看>>