首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在elasticsearch中应用match_prefix术语查询

如何在elasticsearch中应用match_prefix术语查询
EN

Stack Overflow用户
提问于 2022-07-11 23:57:31
回答 2查看 42关注 0票数 0

我的文件如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
{'id':1, 'name': 'sachin messi', 'description': 'football@football.com', 'type': 'football', 'var':'sports'},
{'id':2, 'name': 'lionel messi', 'description': 'messi@fifa.com','type': 'soccer','var':'sports'},
{'id':3, 'name': 'sachin', 'description': 'was', 'type': 'cricket', 'var':'sports'}
]

  • 我需要搜索如果var.keyword =体育
  • 我需要突出显示
  • 它必须前缀查询

DSL查询如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "var.keyword": [
              "sports"
            ]
          }
        },
        {
          "match_phrase_prefix": {
            "name": {
              "query": "lio"
            }
          },
          "highlight": {
            "fields": {
              "name": {}
            }
          }
        }
      ]
    }
  }
}

获取误差

RequestError: RequestError(400,“x_content_parse_exception”,“match_phrase_prefix格式错误查询,预期的END_OBJECT但找到了FIELD_NAME”)

我的期望只有身份证:2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-12 00:05:01

突出显示and应该是外部查询子句,而不是内部查询。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "var.keyword": [
              "sports"
            ]
          }
        },
        {
          "match_phrase_prefix": {
            "name": {
              "query": "lio"
            }
          }
        }
      ]
    }
  },
  "highlight": {
    "fields": {
      "name":{}
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2022-07-12 00:03:46

您已经快到了,但是您需要在JSON中将highlightquery并行,而不是在query中。正确的查询将是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "query": {
        "bool": {
            "must": [
                {
                    "terms": {
                        "var.keyword": [
                            "sports"
                        ]
                    }
                },
                {
                    "match_phrase_prefix": {
                        "name": {
                            "query": "lio"
                        }
                    }
                }
            ]
        }
    },
    "highlight": {
        "fields": {
            "name": {}
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72948852

复制
相关文章
第13篇-Elasticsearch查询-术语级查询
另外Elasticsearch入门,我强烈推荐ElasticSearch新手搭建手册和这篇优秀的REST API设计指南 给你,这两个指南都是非常想尽的入门手册。
普通人刘大
2020/06/13
2.3K0
Elasticsearch-04 ES中的术语和基本用法
有时候对象不仅仅只是简单的键值列表, 更多时候它拥有复杂的数据结构, 比如包含日期、 地理位置、 另一个对象或者数组。
小小工匠
2021/08/17
1.1K0
如何查询 Elasticsearch 中的数据
Elasticsearch 是一个全文搜索引擎,具有您期望的所有优点,例如相关性评分,词干,同义词等。而且,由于它是具有水平可扩展的分布式文档存储,因此它可以处理数十亿行数据,而不会费劲。针对Elasticsearch专业人员来说,大多数人喜欢使用DSL来进行搜索,但是对于一些不是那么专业的人员来说,他们更为熟悉的是 SQL 语句。如何让他们对 Elasticsearch 的数据进行查询是一个问题。借助 Elasticsearch SQL,您可以使用熟悉的查询语法访问全文搜索,超快的速度和轻松的可伸缩性。X-Pack 包含一项 SQL 功能,可对 Elasticsearch 索引执行 SQL 查询并以表格格式返回结果。
二哥聊运营工具
2021/12/17
9.1K0
如何查询 Elasticsearch 中的数据
IT大数据入门学习,ElasticSearch 术语
主要介绍 ElasticSearch 的基本概念,学习文档、索引、集群、节点、分片等概念。
加米谷大数据
2020/03/10
3390
IT大数据入门学习,ElasticSearch 术语
结合LeanCloud做一个查询术语的单页应用
计算机领域中存在大量的术语,如果恰好是自己未接触的领域,看到一连串不懂的英文缩写,一定是一件令人困惑的事。虽然有百度和谷歌等搜索引擎,如果我们能自建一个更专业的数据库,似乎对我们有很大帮助(可玩性很高)。
gojam
2019/05/14
9350
如如何基于Docker快速搭建Elasticsearch集群?
Elasticsearch 作为一个搜索引擎,我们对它的基本要求就是存储海量数据并且可以在非常短的时间内查询到我们想要的信息。所以第一步我们需要保证的就是 Elasticsearch 的高可用性,什么是高可用性呢?它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是 100%。如果系统在某个时刻宕掉了,比如某个网站在某个时间挂掉了,那么就可以它临时是不可用的。所以,为了保证 Elasticsearch 的高可用性,我们就应该尽量减少 Elasticsearch 的不可用时间
码农架构
2020/10/26
5560
如如何基于Docker快速搭建Elasticsearch集群?
5.16.2-如何在CDH中安装ElasticSearch
1.将csd文件ELK-YX-20200617-1.0-SNAPSHOT.jar放置在cloudera-scm-server服务的csd目录下
Fayson
2020/08/03
2K1
如何在EDI系统中查询文件?
EDI系统为企业提供了可视化的界面,帮助企业管理业务数据,并且对收发的业务数据进行存档。您可以根据需求及时备份您的业务数据。EDI系统作为一款企业级软件,日常需要传输大量的文件,这些文件包含的数据量大并且各不相同,如何在EDI系统中快速地查询指定文件呢?今天就来一探究竟。
知行软件EDI
2021/06/17
1.8K0
如何在EDI系统中查询文件?
(转载非原创)Elasticsearch中的Term查询和全文查询
只是觉得写的很好分享到腾讯云,推荐腾讯云服务器,除学生机外非常便宜的活动 腾讯云活动
xlj
2021/07/06
1K0
Elasticsearch学习随笔与Scrapy中Elasticsearch的应用
节点: 一个节点是集群中的一个服务器,由一个名字来标识,默认是一个随机的漫画角色的名字
咸鱼学Python
2019/06/18
1.9K0
Elasticsearch 连接查询
在一般的关系型数据库中,都支持连接操作。 在ES这种分布式方案中进行连接操作,代价是十分昂贵的。 不过ES也提供了相类似的操作,支持水平任意扩展,实现连接的效果。 其他内容,参考Elasticsearch官方指南整理 ES中的连接 在ES中支持两种连接方式:嵌套查询 和 has_child、has_parent父子查询 嵌套查询: 文档中包含嵌套的字段,这些字段以数组的形式保存对象,这样每个嵌套的子对象都可以被搜索。 has_child、has_parent父子查询: 父子文档是存储在同一个索引
用户1154259
2018/01/17
2.9K0
Elasticsearch常用查询
本文使用的Elasticsearch版本为6.5.4,上文主要介绍ES的各种查询,以满足更多的需求。ES的主要功能其实就是体现在这搜索查询上,所以我就总结一下,方便以后直接拿来就用。
用户3467126
2020/03/11
6360
Elasticsearch查询解析
       Elasticsearch(ES)可用于全文检索、日志分析、指标分析、APM等众多场景,而且搭建部署容易,后期弹性扩容、故障处理简单。ES在一定程度上实现了一套系统支持多个场景的希望,大幅度降低使用多套专用系统的运维成本(当然ES不是万能的,不能满足事务等场景)。正是因为其通用性和易用性,ES自2010年发布首个版本以来得到爆发式的发展,广泛应用于各类互联网公司的不同业务场景。
技术姐
2018/07/02
2.4K0
Elasticsearch查询解析
       Elasticsearch(ES)可用于全文检索、日志分析、指标分析、APM等众多场景,而且搭建部署容易,后期弹性扩容、故障处理简单。ES在一定程度上实现了一套系统支持多个场景的希望,大幅度降低使用多套专用系统的运维成本(当然ES不是万能的,不能满足事务等场景)。正是因为其通用性和易用性,ES自2010年发布首个版本以来得到爆发式的发展,广泛应用于各类互联网公司的不同业务场景。
用户1644123
2018/07/02
2.8K1
Elasticsearch查询解析
ES08# ElasticSearch中的SQL查询
通过SQL进行检索ElasticSearch的文档,在一些复杂场景更为灵活。由于DSL需要熟悉其语法,自建的日志平台可能将DSL屏蔽和封装,暴露SQL的查询更易上手。本文顺着官方指南实操一把,文章内容有。
瓜农老梁
2022/06/23
2K0
Elasticsearch查询——布尔查询Bool Query
Elasticsearch在2.x版本的时候把filter查询给摘掉了,因此在query dsl里面已经找不到filter query了。其实es并没有完全抛弃filter query,而是它的设计与
用户1154259
2018/01/17
2.1K0
Elasticsearch查询——布尔查询Bool Query
如何在intellij idea中调试elasticsearch源代码
本文以Elasticsearch 6.6 为例,介绍使用IDEA调试Elasticsearch源码的方法。
用户1233856
2022/08/06
2.3K0
在Elasticsearch中查询Term Vectors词条向量信息
这篇文章有点深度,可能需要一些Lucene或者全文检索的背景。由于我也很久没有看过Lucene了,有些地方理解的不对还请多多指正。 更多内容还请参考整理的ELK教程 关于Term Vectors 额,对于这个专业词汇,暂且就叫做词条向量吧,因为实在想不出什么标准的翻译。说的土一点,也可以理解为关于词的一些统计信息。再说的通俗点,如果想进行全文检索,即从一个词搜索与它相关的文档,总得有个什么记录的信息吧!这就是Term Vectors。 为了不干扰正常的理解,后续就都直接称呼英文的名字吧!免得误导..
用户1154259
2018/01/17
2.8K0
Elasticsearch-sql 用SQL查询Elasticsearch
Elasticsearch的查询语言(DSL)真是不好写,偏偏查询的功能千奇百怪,filter/query/match/agg/geo各种各样,不管你是通过封装JSON还是通过python/java的api进行封装,都非常不方便。 最近发现了一个插件,Elasticsearch-SQL可以用sql查询Elasticsearch,感觉这个轮子造的真是好。 Elasticsearch-sql的项目地址:https://github.com/NLPchina/elasticsearch-sql 1、简介 Elas
用户1225216
2018/03/05
4.1K0
Elasticsearch-sql 用SQL查询Elasticsearch
点击加载更多

相似问题

Elasticsearch术语查询

12

elasticsearch中的术语查询

124

如何在术语查询(ElasticSearch NEST C#)中添加术语?

10

elasticsearch:术语查询失败

34

多级术语查询Elasticsearch

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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