经过前面的介绍,咱们已经可以看到管理员界面并对Solr造成了一个感性的认识。本篇将在物理上深刻了解Solr的安装目录结构和Solr示例的主目录结构。
安装目录结构
Solr 6.3.0安装文件夹里面包含不少内容。这里挑选一些重要的目录进行说明。目录结构以下:web
- bin:大量的Solr控制台管理工具存在该目录下。例如前面提到的solr\solr.cmd\post等。
- contrib:该文件包含大量关于Solr的扩展。分别以下:
- analysis-extras:该目录下面包含一些相互依赖的文本分析组件。
- clustering:该目录下有一个用于集群检索结果的引擎。
- dataimporthandler:DIH是Solr中一个重要的组件,该组件能够从数据库或者其余数据源导入数据到Solr中。
- dataimporthandler-extras:这里面包含了对DIH的扩展。
- extraction:集成Apache Tika,用于从普通格式文件中提取文本。
- langid:该组件使得Solr拥有在建索引以前识别和检测文档语言的能力。
- map-reduce:提供一些和Hadoop Map-Reduce协同工做的工具。
- morphlines-cell:为Solr Cell类型的功能提供Kite Morphlines的特性。
- morphlines-core:为Solr提供Kite Morphlines的特性。
- uima:该目录包含用于集成Apache UIMA的库。
- velocity:包含一个基于Velocity模板语言简单检索UI框架。
- dist:在这里能找到Solr的核心JAR包和扩展JAR包。当咱们试图把Solr嵌入到某个应用程序的时候会用到核心JAR包。
- solrj-lib:包含构建基于Solr的客户端时会用到的JAR包。
- test-framework:包含测试Solr时候会用到的JAR包。
- docs:该文件夹里面存放的是Solr文档,离线的静态HTML文件,还有API的描述。可是我的以为不是太有用,使用Solr Reference Guide更好。
- example:包含Solr的简单示例。在其中的exampledocs子文件夹下存放着前面提到过的用于在Windows环境下发送文档到Solr的工具post.jar程序。
- licenses:各类许可和协议。
- server:在本地把Solr做为服务运行的必要文件都存放在这里。
- contexts:启动Solr的Jetty网页的上下文配置。
- etc:Jetty服务器配置文件,在这里能够把默认的8983端口改为其余的。
- lib:Jetty服务器程序对应的可执行JAR包和响应的依赖包。
- logs:默认状况下,日志将被输出到这个文件夹。
- modules:http\https\server\ssl等配置模块。
- resources:存放着Log4j的配置文件。这里能够改变输出日志的级别和位置等设置。
- scripts:Solr运行的必要脚本。
- solr:运行Solr的配置文件都保存在这里。solr.xml文件,提供全方位的配置;zoo.cfg文件,使用SolrCloud的时候有用。子文件夹/configsets存放着Solr的示例配置文件。
- solr-webapp:前面已经提到过的管理界面的站点就存放在这里。
- tmp:存放临时文件。
主目录结构
前面提到过,若是启动的Solr实例不是示例中的一个,那么咱们须要建立Core,这样才能顺利的完成索引的建立和查询过程。每建立一个Core,都会产生一个对应的文件夹,这个文件夹就是这里要提到的主目录,也是未来使用Solr的过程当中会常常操做到的一类目录。须要说明的是,在“独立模式”和“云模式”下,主目录的结构是有些许差别的。
独立模式下:
1 <solr-home-directory>/
2 solr.xml
3 core_name1/
4 core.properties
5 conf/
6 solrconfig.xml
7 managed-schema
8 data/
9 core_name2/
10 core.properties
11 conf/
12 solrconfig.xml
13 managed-schema
14 data/
云模式下:数据库
1 <solr-home-directory>/
2 solr.xml
3 core_name1/
4 core.properties
5 data/
6 core_name2/
7 core.properties
8 data/
其中,有些文件是很是重要的:
- solr.xml 为Solr服务器实例指定配置选项。具体如何配置,后面会专门讲解。
- 在每个Core里面:
- core.properties为每个Core指定了诸如名称,所属集合,schema的位置等等属性。
- conf/solrconfig.xml控制高级行为。好比,你能够在该文件中指定数据目录的替代位置。
- conf/managed-schema存放文档的描述。第三篇的建立Core小节提到过的数据驱动的Schema,就是在这里获得展示的,根据添加的不一样的带索引文件,managed-schema文件的内容会依据推导出的类型动态的调整。Schema定义一个字段集合的文档。在这里既定义字段类型,又定义字段自己。字段类型定义很是的强大甚至还包含了Solr是如何处理进入字段的值和查询值得描述的。
- data/该目录包含基础的索引文件。