02 Elasticsearch基本常用命令详解

2023-10-29

IK分词器

分词:把一段中文或者词组划分成一个个关键字,我们在搜索的时候会把自己的信息进行拆分,会把数据库中或者索引库中的数据进行分词,然后进行一个个匹配操作,默认的中文分词是将每一个看成一个词,比如“我爱王军”,会被拆分成“我”“爱”“王”“军”,这显然是不符合要求的。所以我们要安装中文分词器的Ik来解决这个问题
ik提供了两个分词算法:ik_smart和ik_max_word.其中ik_smart是最少切分,ik_max_word是最细粒度划分
首先安装IK分词器
ik分词器
下载完毕后,放入elasticsearch的插件目录重启即可。如图
在这里插入图片描述
ik_smart
在这里插入图片描述
由测试不难看出,最少切分是由网页自己理解来进行切分成最少的词组。

ik_max_word
在这里插入图片描述
最小粒度划分是将词组拆分成最小精度的划分,划分成每个可以理解的词组,

ElasticSearch命令

1.新建索引结构

通过put请求
在这里插入图片描述
在这里插入图片描述
新建成功

2.查看索引基本信息

通过get请求
在这里插入图片描述

3.向索引库中插入数据

通过Post请求
在这里插入图片描述
在这里插入图片描述
插入成功

4.查看所有索引库的健康状态

在这里插入图片描述

5 修改数据

在这里插入图片描述
修改成功
在这里插入图片描述

6.删除操作

在这里插入图片描述
总结:使用Restful风格是ES推荐我们使用的。

文档操作

1.精确匹配查询

查询name为小陈的user数据
在这里插入图片描述
在这里插入图片描述

2.排序

根据年龄降序排序得到数据
在这里插入图片描述

3.分页

将得到的数据进行分页

  • from:从第几条数据开始
  • size:一页显示几条数据
    在这里插入图片描述

4.返回Bool值的多条件查询

查询名称为小红,年龄为23的数据,返回结果为Boolean类型
相当于

select * from user where name='小红'and age=23;

在这里插入图片描述

select * from user where name='小红'or age=23;

将must关键字修改为should
在这里插入图片描述

5.按过滤条件查询

查询年龄20-30岁,名称为“小”的用户的数据

在这里插入图片描述

  • gt: 大于
  • it:小于
  • gte:大于等于
  • ite:小于等于

6.精确查询

term查询是直接通过倒排索引指定的词条进行精确查找的!
关于分词

  1. term,直接查询精确的
  2. match,会使用分词器解析!

两个类型 text keyword
以两个例子为证
keyword:
在这里插入图片描述
text:
在这里插入图片描述
keyword不会被分词器解析,而text类型会将词组进行最小拆分
精确查询例子:
在这里插入图片描述
多条件进行精确查询:

查询t1=22和t1=23的数据
在这里插入图片描述

7.高亮查询

在这里插入图片描述
可以在高亮字段上定义标签
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

02 Elasticsearch基本常用命令详解 的相关文章

  • Java中有没有一种方法可以通过名称实例化一个类?

    我正在寻找问题 从字符串名称实例化一个类 https stackoverflow com questions 9854900 instantiate an class from its string name它描述了如何在有名称的情况下实例
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • js中字符串常用方法

    1 concat 用于将一个或多个字符串拼接成一个新字符串 不改变原字符串 返回结果为新字符串 2 slice 提取某个字符串的一部分 并返回一个新的字符串 且不改变原字符串 只有一个参数时 取值范围为指定位置到字符串结尾 两个参数时取头不
  • Transformers学习笔记4

    Tokenizer nlp任务的输入都是raw text model的输入需要是inputs id 所以tokenzier将句子转换成inputs id 怎么转换呢 有3种方式 word based split the text 按照空格来
  • Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量

    目录 一 Iperf能做什么 1 TCP方面 2 UDP方面 二 Iperf的安装与使用 1 安装iperf 2 iperf参数介绍 三 Iperf应用实例 1 测试TCP吞吐量 2 测试UDP丢包和延迟 四 利用IXCHARIOT进行网络
  • 大规模线性方程组求解

    常将线性方程组表示为 A x b A为已知N N的矩阵 通常称为刚度矩阵 刚度是力学中的概念 电磁 热等也习惯性这么称呼 b为已知向量 x为待求向量 解线性方程组的操作基本围绕矩阵A展开 首先介绍一些相关术语 1 矩阵条件数 条件数是一个表
  • json.dump(json_obj, f, ensure_ascii=False),报错UnicodeEncodeError: ‘gbk‘ codec can‘t encode character

    python报错json文件时报错 json dump json obj f ensure ascii False 报错UnicodeEncodeError gbk codec can t encode character 这个错误是因为在
  • transition-group过渡动画

    安装lodash库 cnpm install lodash S 安装lodash type cnpm install types lodash D
  • TAP 系列文章4

    基于Backstage的开发者门户 随着云原生的理念和技术逐渐深入人心 很多企业都在思考和实践如何落地 实实在在地达成云原生所承诺的目标 使工程师能够轻松地对系统作出频繁和可预测的重大变更 越来越多的企业认识到 以Kubernetes为代表
  • 微软1G网盘注册方法

    微软提供免费网盘 可作外链 可用迅雷 很好的存储地方 拥有1G的空间 单个文件限制大小为50MB 支持外链 需要传到Public folders里面 支持迅雷下载 经过我本人测试 下载速度还是蛮快的 能达到180k每秒 不过跟其他国内的网盘
  • vue整理笔记(二)

    前言 上次整理到vue的项目创建 这次就来说说vue的单文件组件创建 1 Vue 组件 1 通过命令 vue init webpack 项目名 创建一个项目 例子 vue create vue2 demo 2 打开src的文件夹 打开com
  • linux cat命令详解

    cat命令 1 cat linux txt 查看linux txt内容 2 cat n linux txt 查看linux txt文件的内容 并且由1开始对所有输出行进行编号 包括空白行 3 cat b linux txt 用法和 n 差不
  • 自己写的制作 city的语义分割tfrecord 适用于deeplabv3+

    自己写的制作 city的语义分割tfrecord 适用于deeplabv3 自用 Converts PASCAL dataset to TFRecords file format from future import absolute im
  • Python 使用 Scrapy 发送 post 请求的坑

    From https www jb51 net article 146769 htm 使用 requests 发送 post 请求 先来看看使用requests来发送post请求是多少好用 发送请求 Requests 简便的 API 意味着
  • 如何在win10上搭建本地服务器

    win10上搭建本地服务器 1 在我的电脑上 打开控制面板 2点击程序和功能 启用关闭windows功能 3 选择如下功能 4 点击确定 打开iis管理器 右键电脑 选择管理 5 找到这个 6 选择浏览网站 成功
  • linux 内存分配

    内存管理 一 malloc的底层实现 Malloc函数用于动态分配内存 为了减少内存碎片和系统调用的开销 malloc其采用内存池的方式 先申请大块内存作为堆区 然后将堆区分为多个内存块 以块作为内存管理的基本单位 当用户申请内存时 直接从
  • 信息增益计算和决策树生长过程

    信息增益计算和决策树生长过程 给定训练集S 下面以信息增益作为最佳划分的标准 演示信息增益的计算和决策树生长的过程 根节点 1 以 Outlook 被选做划分属性 总共有14条数据 打球9条 不打球的5条 根据Outlook进行划分 Sun
  • SonrLint常见解决方案

    Sonar是什么 Sonar是一个用于代码质量管理的开源平台 用于管理源代码的质量 通过插件形式 可以支持包括java C C C PL SQL Cobol JavaScrip Groovy等等二十几种编程语言的代码质量管理与检测 Sona
  • token不存在问题

    解决 添加一个token鉴权的请求头 注意 要在在缺少的文件添加该代码 const token localStorage getItem TOKEN
  • vector subscript out of range数组下标越界错误

    在使用vector二维数组时 产生 vector subscript out of range 错误 检查之 后并没有发现数组下标越界问题 百度了一下 发现原来是数组并没有初始化 赋值 没有分配空间 所以不能采用下标的方式进行访问 解决方法
  • antd 2.2.8 版本 Form表单使用useForm带星号校验和带星号不校验的写法以及不带星号不校验的写法

    1 带星号且校验
  • 02 Elasticsearch基本常用命令详解

    IK分词器 分词 把一段中文或者词组划分成一个个关键字 我们在搜索的时候会把自己的信息进行拆分 会把数据库中或者索引库中的数据进行分词 然后进行一个个匹配操作 默认的中文分词是将每一个看成一个词 比如 我爱王军 会被拆分成 我 爱 王 军