elasticsearch数组类型的数据

StarRocks Elasticsearch Catalog原理简析 前言 Elasticsearch不仅是强大的全文搜索引擎,在很多场景下(特别是TiDB、ShardingSphere等框架成熟之前)也被当做分布式HTAP数据库使用,在存储、更新海量数据的同时,提供高效的点查和部分聚合查询能力。StarRocks从3.1版本开始支持Elasticsearch Catalog,极大方便了ES数据的联邦查询。本文简要分析其原理,并提出一个小问题和对应的临时解决方法。 ... 阅读详情

备注:name3 默认分词没有使用ik分词器

插入数据

PUT /niuniu/niuniu/niu03
{
  "id":"003",
  "name3":["中国","日本","英国","美国"]
}

PUT /niuniu/niuniu/niu04
{
  "id":"004",
  "name3":["中国","英国","美国"]
}

PUT /niuniu/niuniu/niu05
{
  "id":"005",
  "name3":["英国","美国"]
}

PUT /niuniu/niuniu/niu06
{
  "id":"006",
  "name3":["中国","英国"]
}

PUT /niuniu/niuniu/niu08
{
  "id":"008",
  "name3":["日本"]
}

1. 中间空格隔开  or的关系

 

GET /niuniu/_search
{
  "query": {
    "query_string": {
      "query": "(中国) (日本)",
      "fields": ["name3"]
    }

  }
}

 

3.使用keyword 只要任意一个匹配到就会返回,不会按照匹配多个值总分排序

GET /niuniu/_search
{
  "query": {
    "query_string": {
      "query": "(中国) (日本)",
      "fields": ["name3.keyword"]
    }

  }
}

4.??????根据keyword查询时候比较奇怪的问题

    4.1 单个查询可以查询到结果

GET /niuniu/_search
{
  "query": {
    "query_string": {
      "query": "中国",
      "fields": ["name3.keyword"]
    }

  }
}

4.2 多个查询无结果返回

GET /niuniu/_search
{
  "query": {
    "query_string": {
      "query": "中国 日本",
      "fields": ["name3.keyword"]
    }

  }
}

加括号或者加上*号 有结果返回

GET /niuniu/_search
{
  "query": {
    "query_string": {
      "query": "中国 日本*",
      "fields": ["name3.keyword"]
    }

  }
}
GET /niuniu/_search
{
  "query": {
    "query_string": {
      "query": "(中国) (日本)",
      "fields": ["name3.keyword"]
    }

  }
}

 

17【Protues单片机仿真】基于51单片机的太阳能智能谷物翻晒机器人 基于51单片机,避障,低于50CM报警,LED灯亮起,自动翻晒用光敏电阻,光照强度大,电机转动,相当于翻晒粮食,远程控制用按键代替,按下去电机就转动,相当于翻晒粮食,然后光照强度和超声波的距离都在LCD1602显示屏显示出来。 阅读详情

相关推荐

智警杯1.4---excel可视化

知识点

lulu001128的博客 949

ES查询数组,坑点

ES如何查询数组中对象 正确用法 => 查询数组中是否包含指定对象 GET /app_review_tags/_search { "from": 9000, "size": 10, "query": { "bool": { "must": [ { "match": { "obj_id": "230...

AC即性感 9522

基于PLC的茶叶揉捻机自动控制系统设计【附代码】

茶叶揉捻是初茶加工过程中的一道关键工序,通过揉捻可以使鲜茶叶成条、碎茶及叶组织细胞破损等。影响茶叶成条率、碎茶率和叶组织细胞破损的主要因素包括揉捻时间、压力和揉捻桶转速。为了提高茶叶品质的稳定性和减轻工人的劳动强度,本文提出了一种基于PLC自动控制技术的茶叶揉捻机控制系统设计。📊 PLC自动化设计 | 毕业设计指导 | 工业自动化解决方案。✅ 具体问题可以私信或查看文章底部二维码。✅ 感恩科研路上每一位志同道合的伙伴!

lagougongzuoshi的博客 1341

es6数组和对象常用方法

随着es6的发布,新版标准提供了很多新的api,给了开发人员提供了很大的帮助,操作简便,提升效率,现在主要讲下es6提供新的操作数组和对象的一些常用方法。 数组的操作 Object.entries() 作用:将一个对象中可枚举属性的键名和键值按照二维数组的方式返回。若对象是数组,则会将数组的下标作为键值返回。 Object.entries({ one:1,two: 2}) // [['one', 1], ['two', 2]] Object.entries([1, 2]) ...

似水流年QC的博客 2748

Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

若只是实现一对一通信,仅使用webrtc就足够了。但有时间需要进行多个人的直播会议,当人比较多时,建议使用一个流媒体服务器,笔者使用的是SRS。这个开源项目资料比较全,笔者仅在此记录下搭建过程。

aggs1990的专栏 3363

【SAP】ABAP——ALV显示后选择数据操作

在ALV显示后,可全选、全不选或者选择几条数据进行发邮件、更新、下单等等操作。 在user_command中的实现方式如下: 方式一: FORM user_command USING ucomm LIKE sy-ucomm selfield TYPE slis_selfield. DATA: lr_grid TYPE REF TO cl_gui_alv_grid. DATA: lt_rows TYPE lvc_t_row WITH

Mona_1220的博客 4090

ElasticSearch中含有Object类型和数组对象的查询

场景: 在ES库中含有对象Object类型的数据,查找了好久也没有找到相关的查询方法,特此记录一下 需求: 根据tags中的参数gisq_request_id参数的值获取相关的文档数据。 创建索引: 请求头 PUT http://192.168.100.88:9200/my_index 请求体: { "mappings": { "my_type": { "properties": { "user":{ "type":...

喜羊羊love红太狼 1万+

STM32F103移植NuttX实战:从零搭建最小系统到串口Shell(附完整配置文件)

本文详细介绍了在STM32F103C8T6开发板上移植NuttX实时操作系统的完整过程,包括环境搭建、BSP配置、系统时钟初始化、驱动裁剪、编译烧录及串口Shell交互。通过实战指南帮助开发者快速掌握NuttX移植技巧,解决典型问题,适用于嵌入式系统开发。

tree8的博客 292

Elastic:查询数组时如何只返回匹配的数组元素

1 数组查询 ES的查询单位是doc,所以当我们查询数组时,虽然满足条件的是其中某一部分元素,但是这些元素以及这个数组都是属于这个doc的,所以会全部返回。如果我们要返回匹配的元素。那么就需要借助一些手段来实现。 查询 GET arr_json/_search { "query": { "nested": { "path": "tags", "query": { "match": { "tags.name": "ok"

55555的博客 7143

基于NB-IoT的智慧路灯监控系统(NB-IoT专栏—实战篇1:项目简介)

基于NB-IoT技术的城市道路智慧路灯监控系统,在每个照明节点上安装一个集成了NB-IoT模组的单灯控制器,单灯控制器再经运营商的网络,与路灯控制平台实现双向通信,路灯控制平台直接对每个灯进行控制,包括开关灯控制、光照检测、自动调节明暗、电耗分析等操作。

不脱发的程序猿 5万+

【主题建模】一种基于深度学习的主题建模方法:BERTopic(理论篇)

在我的博客中已经写了很多关于主题建模的内容,当你准备了解 BERTopic 时,默认你已经知道了 LSA、pLSA、NFM、LDA 等传统的主题建模方法。关于主题建模的前置知识我在这里不做赘述,感兴趣的同学可以看看我前几篇博客。学习 BERTopic 需要一定的机器学习基础,让我们一起开始吧!

Data · Model · Agent · Repeat 9891

Es 模糊查询 match,wildcard

Es 模糊查询的方式 要求: Es查询: 查询工单信息, 输入 “测试”,查出 form_name 为字段中有查询出含有符合内容的数据 match:分词模糊查询: 比如“Everything will be OK, All is well”,会被分词一个一个单词(不是单个字母) { "from": 0, "size": 20, "query": { "bool": { "should": [{ "term": { "f...

一路向前 3万+

【25届数字IC秋招总结】面试经验15——比特大陆-算能

25届数字ic面试记录——比特大陆-算能

lalala0635的博客 553

Elasticsearch Arrays datatype 数组数据类型

Elasticsearch Arrays datatype 数组数据类型

wei_bo_cai的博客 953

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套

这是ElasticSearch 2.4 版本系列的第六篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档 Elas...

albh81462的博客 6445

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

es6 引用数组,数组发生改变 (es6 引用类型的数据引用的时候怎么不改变原始数据)

    vue项目 ,定义了一个变量,然后 this.requirements 和 this.showRequirements 都赋值为 requ ,在 this.requirements 发生改变 之后, this.showRequirements 也发生了改变 。但是我并不想它改变 。 为什么会改变呢?因为数组是引用类型的数据,所以,当指向为同一个指针的时候,改变这个数组的值会...

Hero_rong的博客 2851

elasticsearch复合数据类型——数组,对象和嵌套

在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是: 数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类...

我的博客 1万+

es6新数据结构Set只能对数组中基本数据类型的元素去重

寒假实训听老师讲到的,老师说可能面试题哦。所以去学习了下Set,在此记下。 ES6提供的新数据结构 Set ,类似数组,特点是里面所有元素都是唯一的,不重复,因此可以利用这个特性对单一数据去重。 Set快速去重 var arr = [1,2,2,2,2,3] var arrset = new Set(arr) arr = Array.from(arrset) console.log(arr) 结...

胖胖的博客 441

ElasticSearch复合数据类型——数组,对象和嵌套

在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是:数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类型;...

qq_24365213的博客 1904

ES的数组类型以及应用场景

ES支持的数据: long:64位存储  integer:32位存储  short:16位存储  byte:8位存储  double:64位双精度存储  float:32位单精度存储  初次之外还可以支持其他复杂的类型 数组类型:没有明显的字段类型设置,任何一个字段的值,都可以被添加0个到多个,要求,他们的类型必须一致,当类型一直含有多个值存储到ES中会自动转化成数组类型 对

石头视角 1万+

Es6数组新增方法与字符串新增方法和新增数据类型

filter方法:筛选数组中的内容,找出其中符合条件的元素,返回一个新数组 缺点:filter只能用于数据量较小的内容筛选,不适合用在数据库这种大型的数据搜索。 every: 全体为真才为真 reduce:将数组中的元素进行整合,返回一个新的内容 prev: 上一次操作的返回结果,如果没有设置默认参数,那么第一个数组元素,作为第二个数组元素的prev item: 当前数组元素 index: 数组元素的索引值 array: 当前操作的数组 2. 字符串新增方法 startsWith()

m0_58802575的博客 538

ES更新嵌套数组(使用Java API)

最近在学习ElasticSearch,前些天在工作中遇到一个难以解决的问题,问题正如标题所示在使用Java TransportClient更新ES复杂数据结构数组,最后请教大佬问题得以解决。此文章将详细描述问题并提供解决办法。 博主要更新的数据格式大致如下: 原数据:一个嵌套类型的数组 "list":[ { "code":"9111364", "name":"企...

qq_34982426的博客 4692

利用es6新增数据类型Set实现判断数组内是否有重复数据

const standardNameList = standardList.map(standard => standard.standardName); //利用es6新增数据类型Set实现的方式 if((new Set(standardNameList)).size != standardNameList.length){ return "单位信息重复!" }

qq_37041798的博客 1601

golang json转结构体中嵌套多个数组_ElasticSearch第六篇:复合数据类型-数组,对象...

在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是:数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类型;...

weixin_34504277的博客 944

elasticsearch数据类型

elasticsearch数据类型

隔壁老王的博客 526

2.18-ES6函数参数设置/数组的操作/数据类型

const divs = document.querySelectorAll('div') // 查询页面中所有的div元素。... 被称为扩展运算符 是与解构解构赋值相关的一种操作符 用于函数调用,数组字面量或对象字面中展开数组或对象。console.log(args.join('-')) //方3-方4。// date('方1','方2','方3','方4')console.log(a,b) //方1 方2。date('方1','方2','方3','方4')n number 数字 null 空。

2301_79752960的博客 298
上一篇: elasticsearch查询时不区分大小写
下一篇: elasticsearch 批量更新_bulk
nddjava
博客等级 码龄16年 15粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值