索引库相关操作

Overview

索引库的总览,显示集合的信息和分片信息

Analysis

分析器:这个功能可以用来调试字段的分词效果

左边部分是针对索引解析器的处理过程,右边部分是针对查询解析器的处理过程,我们来做一下测试,选择底部的字段或者字段类型,这里我们选择content字段,输入“I love you”,然后点击Analyse Values按钮,让我们来看一下索引解析器和查询解析器的处理结果

从图中可以看出,左侧索引使用到的解析器如下:

  1. ST解析器(StandardTokenizer)- 标准解析器
  2. SF解析器(StopFilter) - 停用词解析器
  3. LCF解析器(LowerCaseFilter) - 小写转换解析器

右侧查询使用到的解析器如下:

  1. ST解析器(StandardTokenizer)- 标准解析器
  2. SF解析器(StopFilter) - 停用词解析器
  3. SGF解析器(SynonymGraphFilter) - 同义词解析器
  4. LCF解析器(LowerCaseFilter) - 小写转换解析器

我们可以通过managed-schema的配置文件来查看下content字段的配置吧,来增进我们的理解,我们从solr管理控制台的Files菜单也可以查看managed-schema文件的内容

 <field name="content" type="text_general" indexed="false" stored="true" multiValued="true"/>

我们可以看到content字段的字段类型是text_general字段类型,我们再来看看字段类型text_general的配置内容

 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"><analyzer type="index"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><!-- in this example, we will only use synonyms at query time <filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/><filter class="solr.FlattenGraphFilterFactory"/> --> <filter class="solr.LowerCaseFilterFactory"/></analyzer><analyzer type="query"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.LowerCaseFilterFactory"/></analyzer>
</fieldType>

从配置文件可以看出,text_general字段类型的解析器有两个,一个是index(索引数据时使用的解析器),一个是query(查询数据时使用的解析器)

Dataimport

数据导入:可以将其他数据源的数据导入到Solr中,8.6版本后官方就不建议使用这种方式了

有的人安装完Solr后点击这个菜单不一定会出来这个界面或者有显示这个界面,但是功能确不能正常使用,那是因为要能正确运行该功能,需要在配置文件中进行配置修改,配置文件是solrconfig.xml,打开后可以找到如下这段配置内容

<requestHandler name="/dataimport" class="solr.DataImportHandler"><lst name="defaults"><str name="config">solr-data-config.xml</str></lst>
</requestHandler>

从配置内容可以看到dataimport处理器还引用了solr-data-config.xml文件,我们打开solr-data-config.xml文件,如果这个文件不存在,可自行创建,切记,不要在该配置文件中添加<?xml version="1.0" encoding="UTF-8" ?>笔者当时添加了反而报错,找了好久才发现问题所在

<dataConfig><dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"  url="jdbc:mysql://localhost:3306/solrdb?characterEncoding=utf8" user="root" password="root"/><document><entity name="book" query="select id,name,author,description from books"></entity></document>
</dataConfig>

配置完后,在Solr管理控制台,点击dataimport菜单

选择完数据源后点击Execute按钮,等待数据导入完成,当然导入的数据如果字段不存在的话,需要实现在manage-schema配置文件中进行配置并重启Solr才能导入

Documents

索引文档的相关操作,一般新增、修改、删除索引文档数据都在这个菜单完成

我们可以看到请求处理器是/update
对应的配置文件,可以到solrconfig.xml文件中进行查看,可以看到update对应的处理部分配置如下:

<updateHandler class="solr.DirectUpdateHandler2"><updateLog><str name="dir">${solr.ulog.dir:}</str></updateLog><autoCommit><maxTime>${solr.autoCommit.maxTime:15000}</maxTime><openSearcher>false</openSearcher></autoCommit><autoSoftCommit><maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime></autoSoftCommit></updateHandler>
  1. 添加文档:以json串举例,这里要注意,json的key需要在managed-schema配置文件中有定义,否则将无法保存成功
{"id": 1,"name": "这是名称","title": "这是测试文档"
}

2.修改文档:Solr的修改文档底层是先删除再新增,所以修改文档的话,需要把原文档的所有字段都需要录入

{"id": 1,"name": "这是名称11111","title": "这是测试文档11111","content": "测试内容"
}

3.删除文档:删除文档只能以xml的方式来执行,格式如下:

<delete><query>*:*</query>
</delete>

有的环境可能会发生删除后没有效果的情况,那是因为没有提交的原因,这种情况下可以使用如下的格式内容来删除文档

<delete><query>*:*</query>
</delete>
<commit/>

Files

查看当前Collection的相关配置文件

Query

查询解析器:Solr管理控制台提供的查询索引数据的工具,这里暂时先介绍常用的几个参数,后续有机会再补充其他的参数说明

下面对各个参数进行下解释
q:查询条件,常用的列举如下
查询所属有文档: :
查询id为1的文档:id:1
查询id大于等于1小于等于10的文档:id:[1 TO 10]
查询主文档,当然,需要在主文档中所有的索引数据添加isParent_b字段,否则查询无效:{!child of=": -isParent_b:true"}
查询子文档:{!child of=": -isParent_b:false"}
fq:查询过滤(Filter query),在q参数查询条件情况下进一步过滤,类似sql的子查询
sort:字段排序

start,rows:分页获取数据时用到,start:从第几条记录开始,rows:从starts位置获取几条数据
fl:字段列表,获取查询的结果集字段列表
df:默认查询字段
hl:高亮查询使用
facet:查询统计使用

Schema


除了动态配置字段外,还可以通过菜单Schema来实现字段的动态配置
点击下拉列表,可以选择现有的字段列表,这里我们选择C_Subject_s字段,右边显示该字段的相关属性,显示如下:

Indexed:这个字段可被索引
Stored:这个字段会被存储到索引文档数据
MultiValues:这个字段是否可以存储多个值
其他几个属性目前还未知,等后续了解清楚后再补充

1.Add Field:添加普通字段,界面显示如下:

name:输入字段名称
field type:字段类型选择
default:默认值
勾选项说明:
stored:这个字段是否能被存储
indexed:这个字段是否能被索引
multiValued:这个字段是否能存储多值
required:这个字段是否是每个文档必须要保存的字段
2.Add Dynamic Field:添加动态字段,界面如下:

动态字段类似添加字段
3.Add Copy Field:添加拷贝字段,拷贝字段主要是将索引文档的多个字段映射到该字段,后续可通过查询该字段实现多个字段的查询功能,配置界面如下:

三、Solr管理控制台(二)相关推荐

  1. mysql第三章关系模型_一个MySQL关系模型只有三个关系(二维表)组成。_学小易找答案...

    [判断题]DELETE语句功能是对表中所有记录或满足条件的记录进行批量删除. [填空题]The computer's entire ____ was on a single board. [单选题]下 ...

  2. R语言入门第三集 实验二:基本数据处理

    R语言入门第三集 实验二:基本数据处理 一.资源 [R语言]R语言数据处理--东北大学大数据班R实训第二次作业 二.答案更新纠正 2.11.从df中选取date . item_id . cate_id ...

  3. Linux运维 第三阶段 (二) DHCP

    Linux运维 第三阶段 (二) DHCP服务 dhcp(dynamic host configuration protocol) 前期bootp(无盘工作站)-->dhcp(引入租约lease ...

  4. 二分查找 —— 从三分支到二分支

    二分查找,三分支向二分支的转变,降低的是时间复杂度的常系数. 1. 三分支版本 template <typename T> Rank binSearch(T *A, T const& ...

  5. 实验三 面向对象(二)

    实验三 面向对象(二) <center> <strong>姓名:</strong> <u>XXX</u>    <strong> ...

  6. 实验三 面向对象(二)(预习报告)

    面向对象--Java实验报告 实验三:Java面向对象(二) 实验三 面向对象(二)(预习报告) <center> <strong>姓名:</strong> < ...

  7. 转;三宫九观二十四坊——摘自苏州热线

    三宫九观二十四坊,苏州城内著名的古迹. 1. 三宫: ⑴皇宫-在皇废基东边,本名万寿宫,今称旧皇宫,是康熙五十九年,巡抚吴存礼所建,供着皇帝的生位,每逢万寿-皇帝的诞辰,百官都要去朝拜,北京来了诏书, ...

  8. 计算机专业学生如何写一份优秀的校招简历(大三、研二学生请进)

    计算机专业学生如何写一份优秀的校招简历(大三.研二学生请进) 最近讲了一节简历的公开课,还是蛮有价值的,想分享给大家 主要是讲解计算机相关专业的学生,就业找工作的简历,该如何书写. 内容包含: 1.快 ...

  9. 中国700W程序员未来IT职业生涯规划发展道路,给大家一次性讲明白(大专、三本、二本、一本、985/211、研究生、女程序员、大龄程序员)

    中国700W程序员未来IT职业生涯规划发展道路,马士兵老师给大家一次性讲明白! 学习目录 1:好的职业生涯,从拒绝"入错行"开始 2:大专生.三本生完整进大厂方案公开 3:二本学生 ...

最新文章

  1. use stacks能够把很多相似的文件叠加在macos的桌面上
  2. GDCM:gdcm::network::ULTransitionTable的测试程序
  3. SQL:waitfor的使用
  4. Java开发热门前沿知识!java开发技能培训机构
  5. [转载] Java中this和super关键字分别是什么意思
  6. 6 MM配置-企业结构-分配-给公司代码分配采购组织
  7. 【干货】推荐系统解构.pdf(附下载链接)
  8. 基于报文大小的策略路由
  9. 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系
  10. 三国演义人物出场统计代码含义_用python分析小说人物关系(二)——实战篇
  11. win98 支持html5,90后第一次接触Windows98,20多年了,居然还有人使用!
  12. u启动win10pe安装win10系统教程
  13. 011游移方位惯导系统的力学编排之指令角速度
  14. python异步编程 图书_Python学习之异步编程asyncio
  15. 【标准正态分布查询表】
  16. 编程:中国有句俗话“三天打鱼两天晒网”,某人从1990年1月1日起三天打鱼两天晒网,编程计算他在某一天是打鱼还是晒网
  17. 二线城市-太原-程序员真实写照
  18. 如何查找涉密文件_涉密文件信息资料保密管理规定
  19. 二手书店APP软件开发定制
  20. 04.HTML基础-表单标签基础标签

热门文章

  1. contiki学习笔记(四)、contiki系统UDP通信原理(单播、多播、RPL介绍)
  2. ubuntu安装photoshop
  3. 大数据产业链结构_大数据产业链包含那几个应用环节?
  4. 2022.10.27
  5. 我的理想高中作文理想是计算机,我的理想高中优秀作文范文
  6. Swing中Laber添加下划线
  7. Character Swap (Hard Version)
  8. GIT部署(三)GIT 远程仓库:添加远程库、从远程库克隆
  9. Cartopy画地图第七天(python画浮雕地图和比例尺)
  10. 自定义控件之——封装控件(一)