Solr01-Solr概述及Solr文件说明
目录
1 Solr概述
1.1 Solr是什么
Solr是Apache软件基金组织旗下的一个*开源项目, 是基于Lucene的全文搜索服务, 是一个独立的企业级搜索应用服务器, 可以独立运行于Jetty, Tomcat等Web容器中.
使用Solr可以很方便地实现全文索引和搜索功能, 比如:
1.1.1 创建索引
客户端可以通过HTTP的post方法向Solr服务器发送一个描述Field及其内容的XML文档(或JSON格式的串), Solr服务器根据XML文档添加、更新、删除索引;
1.1.2 搜索索引
客户端可通过HTTP的get方法向Solr服务器发送请求, 对Solr服务器返回的XML、JSON格式的结果进行解析.
Solr不提供构建页面UI的功能, 它提供了一个管理页面, 通过管理页面可以查询Solr的配置和运行情况.
1.2 Solr与Lucene的区别
Lucene是一个开放源代码的全文检索引擎工具包, 提供了完整的索引引擎和查询引擎功能, 目的是为开发人员提供一个简单易用的工具包, 以方便在目标系统中实现全文检索的功能, 或以Lucene为基础构建全文检索应用. 它不是一个完整的服务, 不能独立运行.
Solr的目标是打造一款企业级的搜索引擎系统. 它是基于Lucene构建的全文检索服务, 是一个完整的服务, 可独立运行于Web容器中.
通过Solr可以快速构建企业级的搜索引擎, 也可高效地完成站内搜索功能.
2 Solr文件说明
2.1 Solr的目录结构
-
下载Solr安装包:
下载地址:
说明: Solr与Lucene在3.x版本后开始同步更新, 这里使用4.10.4版本(从Solr 5.x开始要求JDK必须是1.8及以上).
-
目录说明:
| bin: Solr的运行脚本
| contrib: Solr的扩展jar包, 用于增强Solr功能
| dist: build过程中生成的war和jar文件, 以及其他依赖文件
| docs: Solr的API文档
| example: Solr工程的示例目录
--- | solr: 标准的SolrHome, 包含一个默认的SolrCore(即collection1)
--- | multicore: 包含了在Solr的multicore中设置的多个Core目录
--- | webapps: 包含了一个solr.war, 该war包可作为Solr的运行示例工程(这里部署的Solr服务就使用它)
| licenes: Solr相关的许可信息
2.2 其他常用概念说明
SolrHome目录是Solr服务运行的主目录.
一个SolrHome目录可包含多个SolrCore.
SolrCore目录中包含了运行Solr实例的配置文件和数据文件(日志和索引文件).
每一个SolrCore提供独立的索引和搜索服务.
2.3 创建基础文件目录
建立work目录(作为SolrHome根目录);
-
将Solr解压目录中的solr目录, 拷贝至work目录下;
此时SolrHome(即solr, 为方便可改名为solrhome)和SolrCore(即collection1)的目录结构如下:
说明:
conf: SolrCore运行的配置信息;
data: SolrCore存放日志和索引文件的目录;
core.properties: SolrCore的信息, 如名称等, 在Solr运行时创建.
2.4 solrconfig.xml文件说明
说明: solrconfig.xml文件位于SolrCore的conf目录下, 通过solrconfig.xml可以配置SolrCore实例的相关信息, 可不作修改. 企业项目开发中需要修改三个常用的标签: lib标签、datadir标签、requestHandler标签.
详细说明请参见:
2.5 schema.xml文件说明
说明: schema.xml文件在SolrCore的conf目录(即collection1/conf)下, 主要用于配置Solr的域(Field)以及域的类型(FieldType). 在Solr中, 域要先配置再使用.
详细说明请参见:
版权声明
作者: ma_shoufeng(马瘦风)
出处: 博客园
您的支持是对博主的极大鼓励, 感谢您的阅读.
本文版权归博主所有, 欢迎转载, 但未经博主同意必须保留此段声明, 且在文章页面明显位置给出原文链接, 否则博主保留追究法律责任的权利.