数据准备

本次学习涵盖ES简单查询,聚合查询,所以在创建测试库时会可以涵盖一些个性化字段,用于学习搜索用法

索引创建

几个疑问

1.能否用中文命名

安排:我用"蓝闪test",中英文混合l来创建,看看会怎么样

使用postman测试,得到成功反馈。

2.重复创建会怎样

相同条件,再次调用新建索引库接口,得到如下反馈,index [蓝闪test/iV3Q_EKUQdOP2uEwpro9ww] already exists",告知索引库已存在。

改下名字"蓝闪Test",再插

哦嚯,不合法,提示只能必须是小写?英文只能小写?验证一波

排除中文干扰,起一个新名字“MY_FIRST_INDEX”,再次测试,还是报不合法,必须小写

试试中间偷偷改一个字母,看看行不行,ES很强啊,不按规矩来就不给你建库。

不折腾了,全小写再来一遍,哟,成功了。

3.怎样才是规范的命名

由于ElasticSearch使用索引名称作为磁盘上的目录名称,这些名称必须符合不同操作系统的约定。

同时需遵守下列规则:

1、索引名必须为小写字母

2、不能包括 , /, *, ?, “, <, >, |, 空格, 逗号, #

3、7.0版本之后不能使用冒号:

4、不能以这些字符 -, _, + 开头

5、不能包括 . 或 …

6、长度不能超过 255 个字符

以上结论来自网上,好奇心害死猫,我再来验证一下以上结论

结论验证

第一条我们已经试过了,来看第二条:

果然报错,而且还告诉我们不能以'-','+'开头。官方提示,我信了。

验证第三条(我的测试es版本号是7.8.1,符合要求):

把':'放尾巴试试

嗯,看来是正确的结论,包含':'就不行

接着干,验证第五条

把索引库名字改成myfirst_in.dex,成功建库,???,教程翻车了吗?

再试试...,也成功了

换成句号,试试,也成功了。

去管理面板看看,确实成功了,所以此条规则,在7.8.1版本是支持的,验证失败。

继续验证,第六条

最大支持255?那么就找临界值去验证

索引长度254,创建成功

索引长度255,创建成功

索引长度256,创建失败,第六条验证成功

————————————————

在网上还找到了这么一道题:

想必你可以得出答案了吧。 是的,答案是A。

直接插入数据(不设id插入)

http://127.0.0.1:9200/蓝闪test/_doc
{
"name":"孙悟空",
"profession": "战士",
"team":1,
"harm":450,
"friends":["猪八戒","哪吒","嫦娥"],
"createTime":"2022-12-12 18:18:18",
"price":18888.0
} // 返回结果
{
"_index": "蓝闪test",
"_type": "_doc",
"_id": "xEhtd4UBiEnfei9vqfy1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}

完整索引库结构

{
"version": 4,
"mapping_version": 2,
"settings_version": 1,
"aliases_version": 1,
"routing_num_shards": 1024,
"state": "open",
"settings": {
"index": {
"creation_date": "1672744003690",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "iV3Q_EKUQdOP2uEwpro9ww",
"version": {
"created": "7080199"
},
"provided_name": "蓝闪test"
}
},
"mappings": {
"_doc": {
"properties": {
"profession": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"harm": {
"type": "long"
},
"createTime": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"price": {
"type": "float"
},
"name": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"team": {
"type": "long"
},
"friends": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
}
}
}
},
"aliases": [],
"primary_terms": {
"0": 1
},
"in_sync_allocations": {
"0": [
"PRrAzvhiTdKDeXA5gxbNZw"
]
},
"rollover_info": {}
}

查看数据

设置id插入

http://127.0.0.1:9200/蓝闪test/_doc/1
{
"name":"百里守约",
"profession": "射手",
"team":1,
"harm":550,
"friends":["百里玄策","凯","花木兰"],
"createTime":"2022-12-13 18:18:18",
"price":13888.0
} // 返回结果
{
"_index": "蓝闪test",
"_type": "_doc",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}

查看数据

ES-索引库的更多相关文章

  1. Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)

    Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...

  2. es的索引库模板

    在实际的生产中,如果要插入大批量数据的时候需要使用多个索引库,如果我们还是手工指定每个索引的配置信息settings和mappings,是非常耗时的: 针对这种情况,es有index template ...

  3. es索引基本操作(2)之 索引映射(mappings)管理和索引库配置管理(settings)

    1:索引的映射管理 elasticsearch中的文档等价于java中的对象 , 那么在java对象中有字段(比如string.int.long等): 同理在elasticsearch索引中的具体字段 ...

  4. Solr管理索引库——(十三)

    a)          维护索引 1.  添加/更新文档 添加或更新单个文档

  5. Elasticsearch之curl创建索引库

    关于curl的介绍,请移步 Elasticsearch学习概念之curl 启动es,请移步 Elasticsearch的前后台运行与停止(tar包方式) Elasticsearch的前后台运行与停止( ...

  6. Elasticsearch (1) - 索引库 文档 分词

    创建索引库 ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档.它就相当于MySQL中的表,或相当于Mongodb中的集合. 关于索引这个语: 索引(名词):E ...

  7. Elasticsearch之curl创建索引库和索引时注意事项

    前提, Elasticsearch之curl创建索引库 Elasticsearch之curl创建索引 注意事项 1.索引库名称必须要全部小写,不能以下划线开头,也不能包含逗号 2.如果没有明确指定索引 ...

  8. Docker安装ElasticSearch 以及使用LogStash实现索引库和数据库同步

    1:下载 ElasticSearch 镜像 docker pull docker.io/elasticsearch:5.6.8 2:创建 ElasticSearch 容器: 注意:5.0默认分配jvm ...

  9. 测试使用索引库crud和高级查询分页

    1.搭建ES的服务 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  10. Elasticsearch ES索引

    ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎. 同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向 ...

随机推荐

  1. Python 内置界面开发框架 Tkinter入门篇 丁

    如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/X5cqennLrq7i1pzBAAqQ2w 本文大概 2562 个字,阅读需花 15 分钟 内 ...

  2. 让你VS Code的通过插件扩展,拥有了三头六臂

    VS Code 有一个很强大的功能就是支持插件扩展,让你的编辑器仿佛拥有了三头六臂. 安装 VS Code 插件 提醒:当完成了vscode这些配置后,当我们换一台电脑时,不会还得重新配置吧?放心,我 ...

  3. voxel体素网络滤波器

    1.简介 在进行建图的时候,由于多个视角内存在视野重叠,即多个摄像头看到同样的像素点,这样在重叠区域内会存在大量的位置十分相近的点,这会占用很多内存空间.体素网络滤波保证了在某个一定大小的立方体内只有 ...

  4. 视觉十四讲:第九讲_BA优化_g2o

    1.投影模型和BA代价函数 这个流程就是观测方程 之前抽象的记为: \(z = h(x, y)\) 现在给出具体的参数话过程,x指此时相机的位姿R,t,它对应的李代数为\(\xi\).路标y即为这里的 ...

  5. Kali Linux Web 渗透测试秘籍 中文版

    第一章 配置 Kali Linux 简介 在第一章中,我们会涉及如何准备我们的 Kali 以便能够遵循这本书中的秘籍,并使用虚拟机建立带有存在漏洞的 Web 应用的实验室. 1.1 升级和更新 Kal ...

  6. 生物标记钙卫蛋白在RA诊疗中的应用研究

    标签: 类风湿关节炎; 预测因子; 钙卫蛋白; S100A9 [文献摘记]生物标记钙卫蛋白在RA诊疗中的应用研究 电邮发布日期:2016年4月20日 不断提升精确度和应用范围的组学技术正在帮助包括类风 ...

  7. word、excel、pdf等多种格式在线预览

    第一种方式: 具体功能说明: http://view.xdocin.com/index.html 调用案例: <a href="http://www.xdocin.com/xdoc?_ ...

  8. Mybatis连接数据库

    从零开始Mybatis连接数据库 创建Maven文件 File-->new-->project-->maven,点击next 配置 在出现的pom.xml文件中<project ...

  9. P8421 [THUPC2022 决赛] rsraogps

    \(\text{Solution}\) 肯定扫描线在考虑维护什么东西,假设 \(r\) 右移时可以暴力得到所有新值,发现需要维护区间历史版本和以及区间当前值之和 这三个操作对于一个数来说变化次数都是 ...

  10. Wpf Border圆角 设置不成功

    //错误的用法 这样子是不会出现圆角的,哪怕你把CornerRadius设置到1000 <Border CornerRadius="3" Width="100&qu ...