04.Elasticsearch应用(四)
Elasticsearch应用(四)
1.什么是索引
- 索引是文档的容器,是一类文档的结合
- 索引是一个逻辑命名空间,它映射到一个或多个主分片,并且可以具有零个或多个副本分片
- 索引中数据分散在Shard上
- 索引的Mapping定义文档字段的类型
- 索引的Setting定义不同的数据分布
2.索引模板(Index Template)
介绍
- 帮助你设定索引的Mappings和Settings
- 按照一定的规则,自动匹配到新创建索引上
- 模板仅在一个索引被新创建时,才会产生作用
- 修改模板不会影响已经创建的索引
- 你可以设定多个索引模板,这些设置会被“merge”在一起
- 你可以指定“order”的数值,控制“merging”的过程
工作方式(当索引被创建时)
- 应用ES默认的settings与mappings
- 应用order数值低的index Template中的设定
- 应用高的index Template中的设定之前的设定会被覆盖
- 用户所指定的settings和mappings,并覆盖之前模板中的设定
请求路径
# 创建模板,template_default 是这个名字的话就是默认的模板
PUT _template/[index-template]
{"index_patterns": ["test*"],"order": 1,"settings": {"number_of_shards": 1,"number_of_replicas": 2},"mappings": {"date_detection": false,"numeric_detection": true}
}
# 查看template信息
GET /_template/<index-template>
GET /_template/tem*
3.索引别名(aliases)
介绍
- 索引别名是用于引用一个现有索引的辅助名称
- 查询,插入,修改 文档都可以使用别名
请求格式
POST /_aliases
{"actions": [{"add": {"index": "<index>","alias": "别名名称"}}]
}POST /_aliases
{"actions": [{"add": {"index": "<index>","alias": "别名名称","filter": {"range": {"rating": {"gte": 4}}}}}]
}
PUT /<index>
{"mappings": {"properties": {"<field1>": {"type": "字段类型"},"<field2>": {"type": "alias","path": "目标字段的路径(<field1>)" }}}
}
注意
- path是指目标字段的路径。请注意,这必须是完整路径,包括任何父对象(例如object1.object2.field)
- 不支持仅写入字段别名
- 不支持在插入请求或更新请求中使用别名
- 不支持多字段
- 指定查找路径的查询部分不能通过其别名引用字段
4.索引API
获取索引设置
请求路径
GET /[索引名]/_settingsGET /[索引名]/_settings/[设置项setting]
请求参数:setting
- 可选
- 字符串
- 逗号分隔列表或通配符表达式
请求示例
GET /twitter,kimchy/_settingsGET /_all/_settingsGET /log_2013_*/_settings
关闭索引
请求路径
POST /[索引名]/_close
请求参数:索引名
- 可选
- 字符串
- 索引名称的逗号分隔列表或通配符表达式
打开索引
请求路径
POST /[索引名]/_open
请求参数:索引名
- 可选
- 字符串
- 索引名称的逗号分隔列表或通配符表达式
5.创建索引的示例
POST /test
{"settings":{"index":{// 索引默认分词器"analysis.analyzer.default.type":"ik_max_word"}// 自定义分词器"analysis":{"analyzer":{"ik_pinyin":{ // 自定义分词器的名称"tokenizer":"ik_max_word", // 基本分词器"filter":"pinyin_filter" // 自定义的分词器}},"filter":{ // 自定义tokenizer filter"pinyin_filter":{ // 过滤器类型"type":"pinyin", // 这个过滤器的类型"keep_separate_first_letter":false, // 是否分词每个字的首字母"keep_full_pinyin":true, // 是否分词全拼"keep_original":true // 是否保留原始输入"remove_duplicated_term":true // 是否删除重复项"keep_joined_full_pinyin":true,"limit_first_letter_length":16,"none_chinese_pinyin_tokenize":false}}} },"mappings":{"dynamic":"strict", // 动态映射严格模式"properties":{"name":{ // 字段名称"type":"text", // 字段类型"sotre":true, // 是否单独存储"index":true, // 是否创建倒排索引"analyzer":"ik_max_word", // 创建倒排索引时候的分词器"search_analyzer":"ik_pinyin", // 搜索时候的分词器"dynamic":true // 动态映射设置}}}}
相关文章:
04.Elasticsearch应用(四)
Elasticsearch应用(四) 1.什么是索引 索引是文档的容器,是一类文档的结合索引是一个逻辑命名空间,它映射到一个或多个主分片,并且可以具有零个或多个副本分片索引中数据分散在Shard上索引的Mapping定义文档字段的类型…...
Python之数据可视化(地图)
目录 一 基础地图应用 二 全国疫情图 一 数据准备 二 数据处理 二 湖北省疫情图 一 数据准备 二 数据处理 一 基础地图应用 导入map地图对象 from pyecharts.charts import Map map Map() 写入数据 data [("北京市",100),("上海市"…...
etcd技术解析:构建高可用分布式系统的利器
1. 引言 随着云原生技术的兴起,分布式系统的构建变得愈发重要。etcd作为一个高可用的分布式键值存储系统,在这个领域发挥着至关重要的作用。本文将深入探讨etcd的技术细节,以及如何利用它构建高可用的分布式系统。 2. etcd简介 etcd是一个开…...
Pillow图像处理:从零开始的奇妙之旅
图像处理,就像是一场神奇的冒险,让我们的照片变得更有趣、更生动。而在这个冒险的旅途中,Pillow就如同一位魔法师,为我们开启了无尽的可能性。无论你是刚刚踏入图像处理领域的小白,还是已经略有基础的程序员࿰…...
设计一个LRU(最近最少使用)缓存
约束和假设 我们正在缓存什么? 我们正在缓存Web Query的结果我们可以假设输入是有效的,还是需要对其验证? 假设输入是有效的我们可以假设它适应内存吗? 对 编码实现 class Node(object):def __init__(self, results):self.res…...
shell 循环语句
一、命令补充 1. echo 命令 echo -n 表示不换行输出 echo -e 表示输出转义符 常用的转义符有: 选项作用\r光标移至行首,并且不换行\s当前shell的名称,如bash\t插入Tab键,制表符\n输出换行\f换行,但光标仍停留在…...
C++(1) 命名空间
文章目录 C1. C 概述2.C 相对于 C 语言的增强2.1C 第一行代码2.2 C 补充 bool 类型2.3 作用域运算符2.4 命名空间 namespace2.4.1 命名空间基本内容和开放性2.4.2 多个命名空间操作2.4.3 命名空间函数定义和实现分离2.4.4 匿名命名空间2.4.5 命名空间别名 C 1. C 概述 C 之父…...
【机组】单元模块实验的综合调试与驻机键盘和液晶显示器的使用方式
🌈个人主页:Sarapines Programmer🔥 系列专栏:《机组 | 模块单元实验》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 1. 综合实验的调试 1.1 实验…...
React中实现虚拟加载滚动
前言:当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。 需求:通过虚拟加载,优化页面渲染速度 缺点:…...
vue中的Mutations
目录 一:介绍 二:例子 一:介绍 Vuex 中的 mutation 非常类似于事件: 每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的函数,并且它会接受 sta…...
C#用 DateAndTime.DateAdd方法和DateTime.Add(TimeSpan) 方法分别添加一段时间间隔
目录 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔 2.用DateTime.Add方法添加一段时间间隔 二、实例 1.实例1:用 DateAndTime.DateAdd方法 2.实例2:用DateTime.Add方法 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔…...
四、Kotlin 表达式
1. 常量 & 变量 1.1 可读写变量(var) var x initValue // x 称为可读写变量注意:当 var 声明的变量做成员属性时,默认提供 setter/getter 方法。 1.2 只读变量(val) val x initValue // x 称为只…...
Web开发4:单元测试
在Web开发中,单元测试是一种重要的开发实践,它可以帮助我们确保代码的质量和可靠性。通过编写和运行单元测试,我们可以验证代码的正确性,减少错误和缺陷,并提高代码的可维护性。本文将介绍单元测试的概念、好处以及如何…...
Ubuntu 16 让ufw防火墙控制docker容器中所有端口
使用docker ps 查询docker在运行端口。 rootai-0003:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …...
<蓝桥杯软件赛>零基础备赛20周--第18周--动态规划初步
报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…...
vb如何获取鼠标形状的特征码
vb如何获取鼠标形状的特征码 好像按键精灵有一个GetCursorShape()函数可以获取特征码,不知道VB6能不能实现类似的功能? 附注: 1 最好是机器无关的,不是也可以。 2 特征码就是一串数字,用来区分不同的鼠标形状。 3 获取…...
chroot: failed to run command ‘/bin/bash’: No such file or directory
1. 问题描述及原因分析 在busybox的环境下,执行 cd rootfs chroot .报错如下: chroot: failed to run command ‘/bin/bash’: No such file or directory根据报错应该rootfs文件系统中缺少/bin/bash,进入查看确实默认是sh,换成…...
蓝桥杯备战——2.矩阵键盘
1.分析原理图 由上图可以看到若J5跳线帽接地,就S4~S7就可以当做四路独立按键,若接到P44,则就是4*4的矩阵键盘。 2.独立按键处理 相对传统的按键延时消抖方案,这里我采用更高效,更经典,更偏向产品级应用的…...
Docker部署思维导图工具SimpleMindMap并实现公网远程访问
文章目录 1. Docker一键部署思维导图2. 本地访问测试3. Linux安装Cpolar4. 配置公网地址5. 远程访问思维导图6. 固定Cpolar公网地址7. 固定地址访问 SimpleMindMap 是一个可私有部署的web思维导图工具。它提供了丰富的功能和特性,包含插件化架构、多种结构类型&…...
机器学习实验2——线性回归求解加州房价问题
文章目录 🧡🧡实验内容🧡🧡🧡🧡数据预处理🧡🧡代码缺失值处理特征探索相关性分析文本数据标签编码数值型数据标准化划分数据集 🧡🧡线性回归🧡&am…...
宝塔+nextcloud+docker+Onlyoffice 全开启https
折腾了我三天的经验分享 1.宝塔创建网站 nextcloud版本为28.0.1 php8.2 ,导入nextcloud绑定域名对应的证书 ,不用创建mysql 因为nextcloud 要求是mariadb:10.7 宝塔里没有,就用docker安装一个 端口设置为3307 将数据库文件映射出来/ww…...
呼吸机电机控制主控MCU方案
呼吸机是一种能代替、控制或改变人的正常生理呼吸,增加肺通气量,改善呼吸功能,减轻呼吸功消耗,节约心脏储备能力的装置。呼吸机连接一条管子到患者的嘴或鼻子,氧气量可以通过监视器加以控制。 基于灵动微控制器的呼吸…...
gitlab备份-迁移-升级方案9.2.7升级到15版本最佳实践
背景 了解官方提供的版本的升级方案 - GitLab 8: 8.11.Z 8.12.0 8.17.7 - GitLab 9: 9.0.13 9.5.10 9.2.7 - GitLab 10: 10.0.7 10.8.7 - GitLab 11: 11.0.6 11.11.8 - GitLab 12: 12.0.12 12.1.17 12.10.14 - GitLab 13: 13.0.14 13.1.11 13.8.8 13.12.15 - G…...
redis面试题合集-基础
前言 又来到每日的复习时刻,昨天我们学习了mysql相关基础知识,还有分布式数据库介绍(后续总结时再持续更新)。今日继续学习缓存杀器:redis redis基础面试题合集 什么是Redis? Redis是一个开源的、内存中…...
(Unity)C# 中的字符串格式化
前言 在软件开发中,理解和掌握字符串的格式化及调试技巧对于编写高效和可维护的代码至关重要。 字符串插值 ($ 符号) 在 C# 中,字符串插值是通过在字符串前加 $ 符号来实现的。这允许我们将变量、表达式或函数调用直接嵌入到字符串中。 string name &qu…...
【项目日记(五)】第二层: 中心缓存的具体实现(上)
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:项目日记-高并发内存池⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你做项目 🔝🔝 开发环境: Visual Studio 2022 项目日…...
使用PSIM软件生成DSP28335流水灯程序
最近在学习DSP28335芯片,然后在使用PSIM仿真软件时发现这个仿真软件也支持28335芯片,于是就想学习下如何在PSIM软件中使用DSP28335芯片。在PSIM自带的官方示例中有使用DSP28335芯片的相关例子。 工程下载链接 https://download.csdn.net/download/qq_20…...
【iOS ARKit】人脸检测追踪基础
在计算机人工智能(Artificial Inteligence,AI)物体检测识别领域,最先研究的是人脸检测识别,目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场、车站、闸机、人流控制、安全支付等众多社会领域&#x…...
ES的一些名称和概念总结
概念 先看看ElasticSearch的整体架构: 一个 ES Index 在集群模式下,有多个 Node (节点)组成。每个节点就是 ES 的Instance (实例)。每个节点上会有多个 shard (分片), P1 P2 是主分片, R1 R2…...
Javaweb之SpringBootWeb案例之阿里云OSS服务集成的详细解析
2.3.3 集成 阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了,接下来我们就需要在案例当中集成oss对象存储服务,来存储和管理案例中上传的图片。 在新增员工的时候,上传员工的图像,而之所以需要上传员工的图像&…...
网站怎么做微博链接/html网站模板免费
2019独角兽企业重金招聘Python工程师标准>>> ###vagrant 简明使用方法 安装box 需要安装virtual box 和 vagrant 去官网找自己电脑所对应的版本即可 然后在终端执行: vagrant box add 发布者/系统名称这样会通过vagrantcloud上来根据 发布者/系统名称来下载box 通常…...
wordpress能找工作吗/谷歌外贸平台叫什么
在单片机使用过程中第一步就是选择单片机的时钟源,常常可以看到如下的电路原理图: 此原理图中使用晶振连接到XTALIN引脚和XTALOUT引脚,给单片机提供时钟频率,下面就来详细分析一下这种电路的工作原理。 单片机的时钟来源一般有以…...
股票群彩票网站做慈善/seo综合查询爱站
现场OPC客户端无法获取远程OPC Server列表,也无法连接OPC Server,经查调用CoCreateInstanceEx()创建IID_IOPCServerList接口正常,但调用IOPCServerList->EnumClassesOfCategories()时返回0x80070532错误,可是用PI的OPC-Tool测试…...
淄博公司做网站/成都搜狗seo
Connection:用于连接数据源Command:对数据源执行命令DataReader:在只读和只写的连接模式下从数据源读取数据.DataAdpter:从数据源读取数据并使用所读取的数据填充数据集对象.建立Connection 1,用SqlConnection连接Sql Server (1)引入命名空间: using System.Data.SqlClient; (2…...
网站建设免费视频教程/百度快照推广排名
河南农业大学C语言第1章.ppt第1章 C语言基础知识 1.1 C语言概述 1.2 简单C程序与上机步骤 1.3 数据类型 1.4 常量与变量 1.5 运算符和表达式 1.1 C语言概述 1.1.1 C语言的发展 1.1.2 C语言的特点 1.1.3 C程序的执行 1.…...
北京电商网站建设公司/最好用的系统优化软件
开发业务层区块链应用 Hyperledger fabric目前支持java,nodejs,go和python语言的sdk,供用户选择用不同的语言开发上层应用,使用相应的sdk调用部署在区块链上的链码。以下示例中我们选择使用go语言开发业务层应用。 步骤1&#…...