Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ES 7-使用匹配查询和筛选器

ES 7-使用匹配查询和筛选器
EN

Stack Overflow用户
提问于 2019-10-06 01:41:52
回答 1查看 31关注 0票数 0

我使用ElasticSearch 7.0,我有一个简单的查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"bool": {
    "must": {
        "match": {
            "title": {
                "query": "engineer"
            }
        }
    },
    "filter": {
        "0": {
            "term": {
                "type_id": 1
            }
        },
        "term": {
            "active": 1
        }
    }
}

我得到了一个错误:

匹配格式错误的查询,期望END_OBJECT但找到FIELD_NAME

我试过:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"must": {
    "match": {
        "title": "engineer"
    }
},

但是同样的错误,我在这里看不到我的语法错误?我有相同的查询,用相同的过滤器处理多层程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-06 01:49:04

您的过滤器必须包含在数组中,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "bool": {
    "must": {
      "match": {
        "title": {
          "query": "engineer"
        }
      }
    },
    "filter": [
      {
        "term": {
          "type_id": 1
        }
      },
      {
        "term": {
          "active": 1
        }
      }
    ]
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58256014

复制
相关文章
MariaDB 使用正则匹配查询
正则表达式通常被用来检索或替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊字符串.例如从一个文本文件中提取电话号码,查找一篇文章中重复的单词或者替换用户输入的某些敏感词语等,这些地方都可以使用正则表达式,正则表达式强大且灵活,可以应用于非常复杂的查询,MySQL中使用REGEXP关键字指定正则表达式的字符匹配模式,先来看一下下表常用的正则规则吧:
微软技术分享
2022/12/28
1.4K0
使用 querySelector 查询元素时,如何使用正则进行模糊匹配查询?
你好,今天聊一个简单的技术问题,使用 querySelector 方法查询网页上的元素时,如何使用正则进行模糊匹配查询?
LIYI
2023/10/25
1.9K0
使用 querySelector 查询元素时,如何使用正则进行模糊匹配查询?
ES 查询
注:这里相当于select * from 表名 where 1=1,match_all相当于匹配所有.
郑小超.
2022/09/19
7530
2 Elasticsearch全文检索和匹配查询
官网的翻译可参考:http://blog.csdn.net/dm_vincent/article/details/41693125 Elasticsearch主要功能就是完成模糊检索、字符串匹配,所以使用起来非常方便。而且它有一套自己的匹配规则,来决定把哪项搜索结果展示在前面。
天涯泪小武
2019/01/17
1.4K0
sql连接查询中on筛选与where筛选的区别
sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能。 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏。 就拿比普通增删查改稍微复杂一个层次的连接查询来说, 盲目使用, 也会出现意料之外的危险结果,导致程序出现莫名其妙的BUG。 在连接查询语法中,另人迷惑首当其冲的就要属on筛选和where筛选的区别了, 在我们编写查询的时候, 筛选条件的放置不管是在on后面还是where后面, 查出来的结果总是一样的, 既然
用户1608022
2018/04/11
3.4K0
sql连接查询中on筛选与where筛选的区别
es各种查询
1、GET /lib/user/_search : 查询lib索引下的user类型的全部数据
爱撒谎的男孩
2019/12/31
6.9K0
ElasticsearchTemplate的详细使用,完成多条件查询、匹配度查询等
ElasticsearchTemplate是Spring对ES的java api进行的封装,提供了大量的相关的类来完成各种各样的查询。在日常的使用中,应该说最常用的查询就是queryList方法。
天涯泪小武
2019/01/17
15K0
ES查询操作
SQL: select * from student where age = 28
Java廖志伟
2022/09/29
1.1K0
Access不匹配查询
大家好上节介绍了重复项查询,继续介绍选择查询中的不匹配项查询,不匹配查询也是在查询向导中创建。
无言之月
2020/06/04
2K0
Kibana查询语言(KQL)AND、OR匹配,模糊匹配
现在大多数的公司都会使用ELK组合来对日志数据的收集、存储和提供查询服务。ElasticSearch + Logstash+ Kibana。
鱼找水需要时间
2023/02/16
11.6K0
ES DSL查询
当向ES插入数据时,如果采用默认设置,且设置了倒排索引,那么对应的字符串会被分词并建立倒排表.且到使用match进行匹配时,如上代码,匹配的是logs索引的Name字段,其值也会被分词,然后去倒排表检索,返回结果集.那么logs索引中Name字段包含apple和watch分词的document记录都会被检索出来,且如果有document记录的Name字段被分词后同时包含apple和watch的记录其评分会比包含一个的要高.具体的评分算法后续文章会介绍,频分关系到记录的排序.
郑小超.
2022/09/19
6790
ES查询操作
SQL: select * from student where age = 28
Java廖志伟
2022/03/07
9930
ES 聚合查询
ES聚合查询主要又三种模式,分别是分桶聚合(Bucket aggregations)、指标聚合(Metrics aggregations)、管道聚合(Pipeline aggregations),三种模式处理的业务场景不同,下面开始简要分析下.
郑小超.
2022/09/21
1.5K0
ES 聚合查询
ES 复合查询
  ES在查询过程中比较多遇到符合查询,既需要多个字段过滤也需要特殊情况处理,本文简单介绍几种查询组合方便快捷查询ES。
用户1217611
2020/06/19
5.4K0
ES高级查询
Filter:在查询过程中,Filter只判断该文档是否满足条件,只有YES或者NO。 ES会对它的结果进行缓存,所以相较于Query而言Filter的速度会更快一些。
付威
2020/01/21
1.6K0
数据库单表查询 - 简单筛选查询
之前我们已经了解了SQL语言的分类,可以划分为:DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)、DCL(数据控制语言)、TPL(事务处理语言)、CCL(指针控制语言),本文将介绍DQL。
一头小山猪
2020/06/15
4.3K0
数据库单表查询 - 简单筛选查询
1.3 筛选器
数据透视表是Excel历史上最伟大的发明,然其本质上是个很简单的原理,就是一个漏斗,即筛选器。按照不同的角度筛选输出分析结果。
公众号PowerBI大师
2019/08/07
1.5K0
1.3 筛选器
Druid和ES查询结果通用解析方法
做数据的同学相信大家对Druid和Es都不陌生,Druid可以说是一款基于时序的查询引擎,支持数据实时摄入,在数据摄入前指定维度和指标,提供基于时间层面的预聚合,Druid会把一个数据点当做一个实际发生的事实,在数据摄入后就不能修改。常被应用于一些实时的场景,比如对数据实时分时间段分组聚合。ES同样是一款高效的查询引擎,支持数据的批量导入,同样支持数据实时的摄入,也支持数据批量导入,相比于Druid不仅对聚合高度支持,同时兼顾强大的搜索能力,ES主要是基于对摄入数据进行分词,同时构建索引增加查询聚合的速度。通常我一般将ES用作一些离线的场景,对离线场景支持指标的快速查询和聚合。
actionzhang
2022/11/30
9690
Druid和ES查询结果通用解析方法
ES中的查询
一、查询语句形式 1.叶子语句 2.复合语句(一条复合语句可以是多条叶子语句和多个复合语句组成) 二、查询和过滤的区别 1.过滤是将查询设置为是否匹配(只有是和否两种情况),查询会缓存 2.查询是判断文档是否匹配同时判断文档的匹配程度(_score字段),查询不缓存 三、查询 1.match_all查询简单的匹配所有文档 { “match_all”: {}} 2.match匹配指定字段(可能是精确查询也可能是全文查询) {“match”: {“age”:26 }} 3.multi_m
苦咖啡
2018/04/28
4.7K0
ES 查询优化(一)
1、能用term就不用match_phrase The Lucene nightly benchmarks show that a simple term query is about 10 times as fast as a phrase query, and about 20 times as fast as a proximity query (a phrase query with slop). term查询比match_phrase性能要快10倍,比带slop的match_phrase快2
YG
2018/05/23
4.9K1

相似问题

ES必须匹配筛选器

110

ES:匹配bool和模糊查询

11

使用筛选器查找和匹配值

12

使用“筛选器”和"orderBy“查询时没有找到匹配索引

11

多匹配ES PHP上的筛选

215
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文