solr入门_认识solr结构,了解核心的文件目录

1. solr的目录里有很多的东西, 解压后的solr目录结构如下:

(1)bin:是脚本的启动目录

(2)contrib:第三方包存放的目录

(3)dev-tools:跟开发工具相关的包

(4)dist:编译打包后存放目录,即构建后的输出产物存放的目录

(5)docs:solr文档的存放目录

(6)example:示范例子的存放目录,这里展示了DIH,即数据导入处理的例子


这里包含了多个core实例


每一个core实例的结构都是这样的


(7)licenses:权限相关的

(8)lucene:solr基于Lucene开发,本身是lucene代码的目录,但是构建后都为空,相关东西已经到jar包中

(9)server:即solr搜索引擎框架,基于jetty web服务器开发的。包含jetty服务器的配置。(这个目录就类似于一个包含了tomcat服务器,里面有一个基于solr的web工程)


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工程

(10) solr:solr源码路径,编译构建后,已经打成jar包。此目录为空


2、部署到tomcat

看下一篇文章如何将solr部署到tomcat中


3、了解core

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

解压后的文件/example/solr/collection1就是一个core,这个core由/example/solr/solr.xml管理。

如图:

 

一个core如果想让solr管理,就需要注册到solr.xml配置文件中,solr.xml配置如见如下:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
 <cores defaultCoreName="collection1" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="8983" hostContext="solr">
 <core loadOnStartup="true" instanceDir="collection1" transient="false" name="collection1"/>
</cores>
</solr>

4、创建多个core
在实际的项目中,有时候一个solr下面不可能只有一个core,会有多个。比如企业搜索、产品搜索等等。这时你可以复制一份或多份/example/solr/collection1到你的solr home中,并改成你想要的文件名,最后把新添加的core注册到/example/solr/solr.xml中:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
 <cores defaultCoreName="collection1" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="8983" hostContext="solr">
 <core loadOnStartup="true" instanceDir="collection1" transient="false" name="collection1"/>
<core loadOnStartup="true" instanceDir="db" transient="false" name="db"/>
</cores> </solr>

5、认识core的目录结构

每个core中都有两个文件,conf和data
conf:主要用于存放core的配置文件,
(1)、schema.xml用于定义索引库的字段及分词器等,这个配置文件是核心文件
(2)、solrconfig.xml定义了这个core的配置信息,比如:

<autoCommit> 
 <maxTime>15000</maxTime> 
 <openSearcher>false</openSearcher> 
 </autoCommit>

定义了什么时候自动提交,提交后是否开启一个新的searcher等等。
data:主要用于存放core的数据,即index-索引文件和log-日志记录。


文章仅供自己学习作笔记使用,参考借鉴了其他资料!!!!


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值