@MrXiao
2018-08-30T18:59:58.000000Z
字数 2631
阅读 947
全文搜索
本博客使用的版本为 7.2.1。有关Solr的详细介绍及使用,参见Solr中国官方文档。
Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务。
solr可以实现全文检索功能(索引、搜索),solr是可以独立运行在tomcat等web容器中。
Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
Solr主要对外提供索引和搜索服务。
下面是一个如何将 Solr 集成到应用程序中的示例:
您可以在任何系统中安装 Solr,但是这些系统中必须有适用的 Java 运行时环境(JRE),具体介绍如下文所述。
目前,这包括 Linux,MacOS / OS X 和 Microsoft Windows。
Java 要求
您将需要 1.8 或更高版本的 Java 运行时环境(JRE)。在命令行中,检查您的 Java 版本,如下所示:
$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
Solr 可从 Solr 网站获取。您可以在此下载最新版本的 Solr:https://lucene.apache.org/solr/mirrors-solr-latest-redir.html。
Solr 有三个独立的软件包:
下载解压 Solr 之后,您将会看到以下的目录和文件:
bin
此目录中包含几个重要的脚本,这些脚本将使使用 Solr 更容易。
solr 和 solr.cmd
这是Solr 的控制脚本,也称为bin/solr(对于 * nix)或者bin/solr.cmd(对于 Windows)。这个脚本是启动和停止 Solr 的首选工具。您也可以在运行 SolrCloud 模式时创建集合或内核、配置身份验证以及配置文件。
post
Post Tool,它提供了用于发布内容到 Solr 的一个简单的命令行界面。
solr.in.sh 和 solr.in.cmd
这些分别是为 * nix 和 Windows 系统提供的属性文件。在这里配置了 Java、Jetty 和 Solr 的系统级属性。许多这些设置可以在使用bin/solr或者bin/solr.cmd时被覆盖,但这允许您在一个地方设置所有的属性。
install_solr_services.sh
该脚本用于 * nix 系统以安装 Solr 作为服务。在 “将Solr用于生产 ” 一节中有更详细的描述。
contrib
Solr 的contrib目录包含 Solr 专用功能的附加插件。
dist
该dist目录包含主要的 Solr .jar 文件。
docs
该docs目录包括一个链接到在线 Javadocs 的 Solr。
example
该example目录包括演示各种 Solr 功能的几种类型的示例。有关此目录中的内容的详细信息,请参阅下面的 Solr 示例。
licenses
该licenses目录包括 Solr 使用的第三方库的所有许可证。
server
此目录是 Solr 应用程序的核心所在。此目录中的 README 提供了详细的概述,但以下是一些特点:
Solr 的 Admin UI(server/solr-webapp)
Jetty 库(server/lib)
日志文件(server/logs)和日志配置(server/resources)。有关如何自定义 Solr 的默认日志记录的详细信息,请参阅配置日志记录一节。
示例配置(server/solr/configsets)
Solr的运行分为单机运行和集群运行,这里以单机为例:
此命令会启动solr应用服务器默认端口为8983,如果想指定端口号启动可以加参数–p例 如:solr start –p 8888.
D:\Modules\Solr\solr-7.2.1\bin>solr.cmd start
Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!
如图这句提示出现后证明服务启动成功(启动过程中如果打印java异常堆栈log4j2.xml 文件名、目录名或卷标语法不正确。没有关系不妨碍我们正常使用solr可以忽略此问题),接下来在浏览器输入http://localhost:8983/solr可以进入Admin UI界面验证是否启动成功。
2.常用命令
solr start –p 端口号 单机版启动solr服务
solr restart –p 端口号 重启solr服务
solr stop –p 端口号关闭solr服务
solr create –c name 创建一个core实例(core概念后面介绍)
core简介:
简单说core就是solr的一个实例,一个solr服务下可以有多个core,每个core下都有自己的索引库和与之相应的配置文件,所以在操作solr创建索引之前要创建一个core,因为索引都存在core下面。
core创建:
core的创建方式有很多种一下列出两种比较方便的。
中文分词器有很多种,使用最多的是IK分词器,solr自带一个中文分词器,但没有IK好用。
solr7版本的ik分词器下载地址
solr7版本的ik分词器作者的GitHUb
详细配置过程参见 上述github库说明。
solr7.3 环境搭建 配置中文分词器 ik-analyzer-solr7 详细步骤
Solr7.2.1环境搭建和配置ik中文分词器