ES分布式搜索-索引库操作

索引库操作

1、mapping映射属性

可以查看官方文档学习:ES官方手册

mapping是对索引库中文档的约束,常见的mapping属性包括:

  • type:字段数据类型,常见的简单类型有:

    • 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)

    • 数值:long、integer、short、byte、double、float、

    • 布尔:boolean

    • 日期:date

    • 对象:object
  • index:是否创建索引,默认为true
  • analyzer:使用哪种分词器(绝大多数情况下分词text即可)
  • properties:该字段的子字段

2、创建索引库

ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下:

PUT /索引库名称
{"mappings": {"properties": {"字段名":{"type": "text","analyzer": "ik_smart"},"字段名2":{"type": "keyword","index": "false"},"字段名3":{"properties": {"子字段": {"type": "keyword"}}},// ...略}}
}

例如:

# 创建名为rediaz的索引库
PUT /rediaz
{"mappings": {"properties": {"info": {"type": "text","analyzer": "ik_smart"},"email": {"type": "keyword","index": false  //不会创建索引,不会被搜索},"name": {"type": "object","properties": {"firstname": {"type": "keyword"},"lastname": {"type": "keyword"}}}}}
}

索引库创建结果:

{"acknowledged" : true,"shards_acknowledged" : true,"index" : "rediaz"
}

3、查询、删除和修改索引库

  1. 查询:

    GET /索引库名
    

    示例:

    GET /rediaz
    
  2. 删除:

    DELETE /索引库名
    

    示例:

    DELETE /rediaz
    
  3. 修改:

    在ES中禁止修改索引库:在索引库创建成功之后,其数据结构(即mapping映射)已经创建好了,ES会基于mapping来创建倒排索引,如果修改索引库,则会将ES库中的所有倒排索引失效。

    但是可以添加新的字段:

    PUT /索引库名/_mapping
    {
    "properties" : {"新字段名":{"type" : "integer "}}
    }
    

    示例:

    PUT /rediaz/_mapping
    {
    "properties" : {"age":{"type" : "integer"}}
    }
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

github Commits must have verified signatures

1.首先确认是否有权限,如有权限的情况下那就是配置有问题了 我的情况是,能拉取代码,提交的时候出现这种情况:Commits must have verified signatures 这里是生成证书,如果已经生成过的,就不用生成了 ssh…

ARM/Linux嵌入式面经(一):海康威视

海康威视 1.函数指针和指针函数区别 1.定义的差异 函数指针:函数指针的定义涉及到函数的地址。例如,定义一个指向函数的指针 int (*fp)(int),这里 fp 是一个指针,它指向一个接受一个整数参数并返回整数的函数。 指针函数&#…

99 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上

呵呵 最近部署 zookeeper 的时候出现这样的一个问题 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上 # 但是再 另外的一个虚拟机环境, ubuntu 16 的环境, docker 启动 2181 的服务, 然后 安装 firewalld, 配置 开放 2181 的 tcp 服务, 客户端能够正常连接…

《C缺陷和陷阱》-笔记(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、理解函数声明 1.(*(void(*)( ))0)( ); 2.signal 函数接受两个参数: 3.使用typedef 简化函数声明: 二、运算符的优先级…

代码随想录刷题第54天

倒计时day6。第一题是判断子序列https://leetcode.cn/problems/is-subsequence/description/,动规五步曲分析如下:dp[i][j]表示以下标为i - 1的字符串1与下标为j - 1的字符串2的相同子序列长度。当发现str1[i - 1] str2[j - 1]时,相同子序列…

【项目】Boost 搜索引擎

文章目录 1.背景2.宏观原理3.相关技术与开发环境4. 实现原理1.下载2.加载与解析文件2.1获取指定目录下的所有网页文件2.2. 获取网页文件中的关键信息2.3. 对读取文件进行保存 3.索引3.1正排与倒排3.2获取正排和倒排索引3.3建立索引3.3.1正排索引3.3.2倒排索引 4.搜索4.1 初始化…

UNIAPP微信小程序中使用Base64编解码原理分析和算法实现

为何要加上UNIAPP及微信小程序,可能是想让检索的翻围更广把。😇 Base64的JS原生编解码在uni的JS引擎中并不能直接使用,因此需要手写一个原生的Base64编解码器。正好项目中遇到此问题,需要通过URLLink进行小程序跳转并携带Base64参…

Linux第73步_学习Linux设备树和“OF函数”

掌握设备树是 Linux驱动开发人员必备的技能! 1、了解设备树文件 在3.x版本以前的Linux内核源码中,存在大量的“arc/arm/mach-xxx”和“arc/arm/plat-xxx”文件夹,里面很多个“.c”和“.h”文件,它们用来描述设备信息。而现在的A…

Clock uncertainty的通俗解释

在这篇短文里,我会分别用专业和通俗(比如举例子)的语言解释一下下面出现的专业术语各是什么意思,以及这句话整体的含义:clk uncertainty 组成: PLL jitter (cycle to cycle的因素)ne…

MySQL实战:SQL优化及问题排查

有更合适的索引不走,怎么办? MySQL在选取索引时,会参考索引的基数,基数是MySQL估算的,反映这个字段有多少种取值,估算的策略为选取几个页算出取值的平均值,再乘以页数,即为基数 查…

FPGA高端项目:FPGA基于GS2971的SDI视频接收+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放Video Mixer多路视频拼接应用本方案的SDI接收OSD动态字符叠加…

【ARM Trace32(劳特巴赫) 高级篇 21 -- SystemTrace ITM 使用介绍】

文章目录 SystemTrace ITMSystemTrace ITM 常用命令Trace Data AnalysisSystemTrace ITM CoreSight ITM (Instrumentation Trace Macrocell) provides the following information: Address, data value and instruction address for selected data cyclesInterrupt event info…

Maven基础简介

作者简介: zoro-1,目前大二,正在学习Java,数据结构,spring等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 Maven简介 Maven是什么 Maven…

Qt5.14.2揭秘Qt与SSL/TLS的完美邂逅:打造坚不可摧的网络安全防线

引言: 在数字化时代,数据安全是每个开发者和用户都不可忽视的问题。Qt,作为一个强大的跨平台开发框架,为我们提供了丰富的网络功能,其中就包括了对SSL/TLS加密通信的支持。本文将带你深入了解如何在Qt中实现SSL证书认证…

多态详细说明

多态的概述 什么是多态?同类型的对象,执行同一个行为,会表现出不同的行为特征。 多态的形式 父类类型 对象名称 new 子类构造器; 接口 对象名称 new 实现类构造器; 多态中成员访问特点 方法调用:编译看左边&#…

JVM的工作流程

目录 1.JVM 简介 2.JVM 执行流程 3. JVM 运行时数据区 3.1 堆(线程共享) 3.3 本地方法栈(线程私有) 3.4 程序计数器(线程私有) 3.5 方法区(线程共享) 4.JVM 类加载 ① 类…

【备战蓝桥杯系列】多源最短路弗洛伊德floyd算法

floyd算法 蓝桥杯中,有时也会要求图中任意点的最短路径,这时候虽然可以用dijkstra,但是代码长,用floyd是最短的。模板如下。 模版 时间复杂度O(n^3) 使用邻接矩阵存储图 初始化:for (int i …

软件测试的就业前景如何?

近年来,进入软件测试的就业人数逐渐增加。现在的社会对软件测试这个职业都有很大的需求。也有很多刚步入社会的年轻人想学习软件测试。那么你知道学习软件测试的的发展前景怎么样吗?看看下面的详细介绍。 关于软件测试行业发展前景问题,是很多准备入行…

Vue 2和Vue 3透传Attributes特性

Vue 2和Vue 3在透传Attributes方面存在一些区别,这些区别主要体现在对Attributes的处理方式和灵活性上。 在Vue 2中,当父组件向子组件传递Attributes时,这些Attributes会自动绑定到子组件的根元素上。这意味着,如果父组件为子组件…

c++ 常用的STL

前言 写这篇博客目的是为了记录在刷算法题中使用过的STL,因为有些不太常用的会遗忘。这篇博客只是作为笔记,不是详细的STL,因此只会对常用方法说明,不会详细介绍。此外在后面用到新的STL内容时会再补充。 列队 基础列队 基本列…