solr添加字段_solr

fd870388c4fcdfdcbd2a461085d2a93e.png

(1) 什么是全文检索?

我们生活中的数据总体分为两种:结构化数据和非结构化数据。

1)结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。

2)非结构化数据:指不定长或无固定格式的数据,如邮件,word 文档等。

非结构化数据又一种叫法叫全文数据。

(2) 什么是Lucene?

Lucene 是一个高效的,基于 Java 的全文检索库

(3) 什么是Solr?

Solr 是基于 Lucene 的面向企业搜索的 web 应用

2. Solr安装-安装Solr服务

(1) 如何在Linux环境中安装Solr服务?

1、 就是将 solr 的 war 包,拷贝到 tomcat 的 webapps 目录下。

2、 安装型用的jar包

3. Solr安装-安装Solr索引库

(1) 如何在Solr服务中配置索引库?

1、 将该索引库拷贝到指定目录下(可以是任意目录),虽然具备任意性。但是也不能太随便。 应该放到/usr/local/solrhome。先创建 solrhome 目

2、 配置的路径为索引库的根。可以使用 linux 中的 pwd 命令查看绝对路径,添加到节点的<env-entry-value>节点中

4. Solr索引库-目录结构

(1) SolrHome中的每一个目录的作用是什么?

1 solr.xml 配置 solr 集群

2 collection1(索引库:solr core)

3 core.properties 设置索引库的名称

4 data 存放索引

5 conf 索引库的配置目录

5. Solr索引库-schema.xml讲解

(1) schema.xml的作用是什么?

配置字段以及字段类型

(2) <field>是配置什么的?

定义域,即定义数据结构

(3) <field>中有哪些属性?每个属性的作用是什么?

name:表示域的名称,是强制必须有的属性

type:域类型的名称,与 fieldType 元素的 name 属性值对应,是强制必须有的属性 indexed:是否参与检索。true 即表示需要对该域进行索引。默认值为 false

stored:是否将 field 域中的内容存储到文档域,简单通俗的来说,就是你这一个 field 需不需要被当作查询结果返回。

required:表示这个域是否是必须要在 document 中存在,默认值为 false,如果此配 置项设为 true,则你的 document 中必须要添加此域,否则你创建索引时会抛异常。

(4) <fieldType>是配置什么的?

定义域的类型

(5) <fieldType>中有哪些属性?每个属性的作用是什么?

Name:域类型的名称,作为域类型标识符存在,在定义域(Field)时使用的类型 (FieldType)属性就是域类型的名称。

Class:域类型的数据类型,该属性指向的是 solr 中的已定义的类型,或者是用户定 义的类型,域类型中的数据会被初始化成 class 执行类类的对象。

sortMissingFirst/sortMissingLast:控制当排序域的值不存在时该文档(Document) 所在队列的位置。true 是则在队头/队尾

(6) <copyField>是配置什么的?

<copyField>:复制域。可实现更新与查询分离

(7) <copyField>中有哪些属性?每个属性的作用是什么?

<copyField source="item_title" dest="item_keywords"/>

Source:源域

Dest:目标域

6. Solr索引库-Solr的索引机制

(1) Solr索引库-Solr的索引机制

正排索引是以文档的 ID 为关键字,索引文档中每个字的位置信息,查找时扫描索引中 每个文档中字的信息直到找出所有包含查询关键字的文档

(2) 什么是倒排索引?

对数据进行分析,抽取出数据中的词条,以词条作为 key,对应数据的存储位置作为 value,实现索引的存储。这种索引称为倒排索引

7. Solr索引库-配置中文分词器

(1) 中文分词器IK Analyzer的作用什么是?

配置中文分词器

(2) 如何为Solr配置中文分词器?

上传中文分词器 jar 包,以及配置文件

将中文分词器的配置文件以及jar包拷贝到Solr所对应的目 录下

将配置文件需要放到 classes 目录下。 在 solr 中的 WEB-INF 下时没有 classes 目录的。我们需要先创建一个

Jar 包放到 WEB-INF/lib 目录下。

在 schema.xml 中配置中文分词器

<fieldType name="text_ik" class="solr.TextField">

<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

8. Solr管理界面介绍

(1) Dashboard的作用是什么?

在 schema.xml 中配置中文分词器

<fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>

(2) Logging的作用是什么?

显示 solr 运行出现的异常或错误

(3) Core Admin的作用是什么?

主要有 Add Core(添加核心), Unload(卸载核心),Rename(重命名核心),Reload(重 新加载核心),Optimize(优化索引库) Add Core 是添加 core : 主 要 是 在 instanceDir 对 应 的 文 件 夹 里 生 成 一 个 core.properties 文件

(4) Java Properties的作用是什么?

看到 java 相关的一些属性的信息

(5) Thread Dump的作用是什么?

查看每个线程的详细信息,以及状态信息

(6) Core Selecter(core选择器)的作用是什么?

Core Selecter(core 选择器)

(7) overview的作用是什么?

包含基本统计如当前文档数;和实例信息如当前核心的配置目录

(8) Analysis(分析)的作用是什么?

检验分词效果

(9) Dataimport(导入数据)的作用是什么?

导入数据

(10)Documents的作用是什么?

(索引文档)索引的相关操作,如:增加,修改,删除等

(11)Files文件夹的作用是什么?

solr_home 下的 core 下的 conf 下的相关文件,可单击查看里面的内

(12)Ping的作用是什么?

查看当前核心库还是否工作的以及响应时间

(13)Plugins /stats的作用是什么?

Solr 自带的一些插件以及我们安装的插件的信息以及统计

(14)Query(查询页面)的作用是什么?

查询的结果要显示哪个字段,就得将 schema.xml 文件配置字段时的 stored 属性设为 true

(15)Replication的作用是什么?

请求处理器

(16)Schema的作用是什么?

展示该 Core 的 shema.xml 文件中的内容

9. 测试SolrJ-创建项目添加依赖

(1) 什么是SolrJ?

solrJ 是访问 Solr 服务的 JAVA 客户端,提供索引和搜索的请求方法,SolrJ 通常嵌入在 业务系统中,通过 solrJ 的 API 接口操作 Solr 服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值