欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Solr-8.1.1 + IK-analyzer-8.1.0教程

程序员文章站 2022-07-12 13:42:49
...

一、Solr简介

        Apache Solr是一个功能强大的搜索服务器,它支持REST风格API。Solr是基于Lucene的,Lucene 支持强大的匹配能力,如短语,通配符,连接,分组和更多不同的数据类型。它使用 Apache Zookeeper特别针对高流量进行优化。

二、工具

Postman:发送post请求的http客户端,官网地址:https://www.getpostman.com/

IKAnalyzer:中文分词器,jar包下载地址:https://search.maven.org/search?q=com.github.magese

三、Solr的下载与安装

1.Solr官网下载:http://lucene.apache.org/solr/downloads.html   或者   http://apache.fayea.com/lucene/solr/

2.下载后解压,结构如下:

Solr-8.1.1 + IK-analyzer-8.1.0教程

3.执行solr,指定端口为8888。命令如下:

Solr-8.1.1 + IK-analyzer-8.1.0教程

4.访问http://localhost:8888/solr/,进入Admin UI界面验证是否成功。如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

5.Solr常用命令

./solr start –p 端口号       // 单机版启动solr服务

./solr restart –p 端口号   // 重启solr服务

./solr stop –p 端口号      // 关闭solr服务

./solr stop -all                 // 关闭所有solr服务

./solr status                    // 查看solr状态

./solr create –c name    // 创建一个core实例(core概念后面介绍)

注:

      此外有关于solr集群版启动方式和其他更多的命令可以参看官方文档https://lucene.apache.org/solr/guide/

6.Admin UI界面,创建core。出现

Solr-8.1.1 + IK-analyzer-8.1.0教程

解决:

     1)在创建new_core文件夹,如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

     2)将configsets下的conf文件夹,拷贝到new_core文件夹中,如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

Solr-8.1.1 + IK-analyzer-8.1.0教程

   3)再在Admin UI界面创建c7ore,成功。如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

四、配置schema

1.找到managed-schema配置文件,如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

2.添加配置text_ik,如下配置:

        <!-- ik-analyzer -->
	<fieldType name="text_ik" class="solr.TextField">
	  <analyzer type="index">
		  <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
		  <filter class="solr.LowerCaseFilterFactory"/>
	  </analyzer>
	  <analyzer type="query">
		  <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
		  <filter class="solr.LowerCaseFilterFactory"/>
	  </analyzer>
	</fieldType>

3. 解析schema主要成员:

  1) fieldType:为field定义类型,最主要作用是定义分词器,分词器决定着如何从文档中检索关键字。

  2)analyzer:fieldType下的子元素,这就是传说中的分词器,他由一组tokenizer和filter组成

  3)field:创建索引用的字段,若想要这个字段生成索引需要配置他的indexed属性为true,stored属性为true表示存储该索引。

4.根据API,用postman测试,API地址:https://lucene.apache.org/solr/guide/8_1/schema-api.html#modify-the-schema

五、中文分词器

1.将jar包放入WEB-INF的lib中,如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

2.在WEB-INF下创建classes,并将文件放入。如图:

Solr-8.1.1 + IK-analyzer-8.1.0教程

3.选择分词

Solr-8.1.1 + IK-analyzer-8.1.0教程

4.测试分词,打开ADMIN UI界面,操作如图:
Solr-8.1.1 + IK-analyzer-8.1.0教程

五、SolrJ(Java客户端)

1.添加maven依赖

<!-- solr -->
<dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-solrj</artifactId>
    <version>8.1.1</version>
</dependency>

2.在项目中使用,请参考SolrJ官方文档