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-日志记录。
文章仅供自己学习作笔记使用,参考借鉴了其他资料!!!!