天天看点

Solr简介

海量数据下,关系型数据库的搜索效率比较低,最好使用专用搜索工具搜索

基于Apache Lucene(全文检索工具库)

谷歌API

百度API

solr基于Apache Lucene构建的用于搜索和分析的开源解决方案

solr本质是一个内嵌了Jetty服务器的一个Java web项目,请求Solr中控制器,处理完数据后把结果响应给客户端

foward index 和 inverted index

正向索引:从文档内容到词组的过程,每次搜索的实收需要搜索所有文档,每个文档i比较搜索条件和词组

Solr简介

反向索引:正向索引的逆向,建立词组和文档的映射关系。通过找到词组就能找到内容

Solr简介

Solr能够提升检索效率,是因为分词和索引(反向索引)

分词:怼搜索条件/存储内容进行分词,分成日常所使用的词语

索引:存储在solr中内容按照程序员要求建立索引,如果要求建立索引,会把存储内容中关键字存储索引

Solr简介
Solr简介

使用git下载7.2版本solr

进入solr目录

修改启动参数

之所以修改这个参数,是因为启动的时候有以下报错

Solr简介

启动solr

如果是root账号,会有以下警告

Solr简介

加上force参数

就像vs code,root账户需要参数 --user-data-dir

Solr简介

Solr安装完成后默认没有核心,需要手动配置

在solr/server/solr下新建文件夹,并给定配置文件,否则无法建立

把configsets里面包含的所有配置文件都拷贝到testcore下面

在solr可视化管理界面中,有一个Analysis

Solr简介

ik-analyzer是一个中文分词工具包

solr的ik-analyzer官方地址:​​https://github.com/magese/ik-analyzer-solr#%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E​​

下载对应的jar包,jar包地址:​​https://search.maven.org/remotecontent?filepath=com/github/magese/ik-analyzer/8.3.1/ik-analyzer-8.3.1.jar​​

下载到solr下的webapp/WEB-INF/lib目录中

然后是使用wget命令

修改配置文件

vim排版,gg=G

添加下面内容

表示定义一个属性类型,在Solr中属性类型都是自定义的

例如name="text_ik"为自定义类型,当某个属性text_ik时,IK Analyzer才能生效

表示向Document中添加一个属性

常用属性

name,属性名

type,属性类型

indexed,是否建立索引

stored,该属性是否必须,默认id是必须

multiValued,如果为true,复合属性,包含多个属性,常用多个列作为搜索条件时,

把这些列定义成一个新的复合属性,通过搜索一个复合属性实现搜索多个列

当设置为true时与<copyField source="" dest=""/>结合使用

唯一主键,solr中默认定义id属性为唯一主键,ID的值不允许重复

名称中允许*进行通配,代表满足特定名称要求的一组属性

例如

test_*

可以使用solr自带的dataimport功能把数据库中数据快速导入到solr中

必须保证managed-schema和数据库中的表的列对应

修改solrconfig.xml,添加下面内容

和solrconfig.xml同一目录下新建data-config.xml

添加三个jar

solr-dataimporthandler

solr-dataimporthandler-extras

mysql-connector

重启solr,使用可视化界面进行数据导入

根据主键删除

条件删除

SolrJ是Solr提供的Java客户端API

添加SolrJ依赖,官方地址:​​https://mvnrepository.com/artifact/org.apache.solr/solr-solrj​​

添加依赖,官方地址:​​https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web​​

添加依赖,官方地址:​​https://mvnrepository.com/artifact/org.springframework.data/spring-data-solr​​

启动类

添加一个

Product

添加多个

testInsert2

编写配置文件

Solr简介

创建

Solr简介

停止

重新运行

论读书

睁开眼,书在面前

闭上眼,书在心里