Elasticsearch深入学习 (四) 文档查询

这篇具有很好参考价值的文章主要介绍了Elasticsearch深入学习 (四) 文档查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、创建索引

创建索引,并指定title字段的类型为keyword,用于精确查询

PUT /my_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 2
  },
  "mappings": {
    "properties": {
      "title": { "type": "keyword" },
      "description": { "type": "text" },
      "timestamp": { "type": "date" }
    }
  }
}

二、插入文档
#插入文档,并指定文档ID为1
PUT /my_index/_doc/1
{
  "title": "Example Document1",
  "description": "This is an example document",
  "timestamp": "2023-06-27T10:00:00"
}
三、查询文档

根据文档ID查询

GET /my_index/_doc/1

 根据文档字段内容查询

1、简单查询

Match 查询:根据指定字段的内容进行全文匹配查询。例如,搜索description字段包含关键词 "example" 的文档

GET /my_index/_search
{
  "query": {
    "match": {
      "title": "Example"
    }
  }
}

Term 查询:根据指定字段的精确值进行匹配查询。例如,搜索title字段为 "Example Document1" 的文档。(精确查询的字段类型需为 keyword )

GET /my_index/_search
{
  "query": {
    "term": {
      "title": "Example"
    }
  }
}

2、复合查询

Bool 查询:通过组合多个查询条件,使用逻辑运算符(如 must、should、must_not)来进行复合查询

  • must:所有的 must 条件都必须满足,相当于逻辑上的 AND 操作。
  • should:至少一个 should 条件满足即可,相当于逻辑上的 OR 操作。
  • must_not:必须不满足 must_not 条件,相当于逻辑上的 NOT 操作。

GET /my_index/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "title": "Example"
          }
        },
        {
          "match": {
            "description": "example"
          }
        }
      ]
    }
  }
}

Match Phrase 查询

用于精确匹配包含指定短语的文档。它会将查询字符串视为一个完整的短语,确保文档中的某个字段包含完全相同的短语

GET /my_index/_search
{
  "query": {
    "match_phrase": {
      "description": "This is an example document"
    }
  }
}文章来源地址https://www.toymoban.com/news/detail-582583.html

到了这里,关于Elasticsearch深入学习 (四) 文档查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch文档查询详解

    如果文档中被匹配的字段包含中文则会进行模糊搜索,如果只有英文则会精确搜索,举例说明: 字段名 文档1 文档2 文档3 name java java123 java张三 如果name匹配java的话可以匹配到java、java张三但是匹配不到java123。 查询索引中tags中包含男、技术的文档,会检索出包含男关

    2024年02月08日
    浏览(40)
  • ElasticSearch-文档查询

    目录 一、查询某个索引下的全部文档 二、根据查询条件查询文档 三、分页查询 四、查询指定返回的字段 五、排序 六、多条件查询 七、范围查询 八、全文检索与完全匹 语法: 例子: 结果: 语法如下,使用query,match查询条件。  例子: 结果:   语法:from和size, from表示

    2024年02月15日
    浏览(32)
  • 【Elasticsearch】DSL查询文档

    目录 1.DSL查询文档 1.1.DSL查询分类 1.2.全文检索查询 1.2.1.使用场景 1.2.2.基本语法 1.2.3.示例 1.2.4.总结 1.3.精准查询 1.3.1.term查询 1.3.2.range查询 1.3.3.总结 1.4.地理坐标查询 1.4.1.矩形范围查询 1.4.2.附近查询 1.5.复合查询 1.5.1.相关性算分 1.5.2.算分函数查询 1)语法说明 2)示例 3)小

    2024年02月16日
    浏览(40)
  • ElasticSearch(四)深入搜索查询

    搜索的相关性算分,描述了一个文档和查询语句匹配成都;es 会对每个匹配条件的结果进行算分,打分的本质是排序;5之前采用TF-IDF,后面采用BM 25; (*注意:往往分词器分词的结果也会对得分产生影响,可以先看看分词的结果再去判断评分) TF-IDF 是一种用于信息检索与数

    2024年01月20日
    浏览(46)
  • 【ElasticSearch】ElasticSearch Java API的使用——常用索引、文档、查询操作(二)

    Elaticsearch ,简称为es,es是一个开源的 高扩展 的 分布式全文检索引擎 ,它可以近乎 实时的存储 、 检索数据; 本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的 目的

    2024年01月16日
    浏览(82)
  • SpringCloud:ElasticSearch之RestClient查询文档

    文档的查询同样适用 RestHighLevelClient 对象,基本步骤包括: 1)准备 Request 对象 2)准备请求参数 3)发起请求 4)解析响应 我们以 match_all 查询为例 1.1.发起查询请求 代码解读: 第一步,创建 SearchRequest 对象,指定索引库名 第二步,利用 request.source() 构建DSL,DSL中可以包含查

    2024年02月03日
    浏览(42)
  • Elasticsearch7.8.0版本入门—— 高亮查询文档(高级查询)

    在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/ 1 ,请求体内容为: 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/ 2 ,请求体内容为: 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/ 3 ,请求体内容为: 在 Postman 中,向

    2024年02月01日
    浏览(59)
  • ElasticSearch核心详解、文档、查询响应、分页、映射、结构化查询

    在Elasticsearch中,文档以JSON格式进行存储,可以是复杂的结构,如: 其中,card是一个复杂对象,嵌套的Card对象 元数据(metadata)        一个文档不只有数据。它还包含了元数据(metadata)——关于文档的信息。 三个必须的元数据节点是: index        索引(index)类似于关

    2024年02月12日
    浏览(32)
  • 【ElasticSearch】JavaRestClient实现文档查询、排序、分页、高亮

    先初始化JavaRestClient对象: 代码和DSL对应上就是: 运行结果: 然后是对结果的解析,对照响应结果: 示例代码: 运行结果: 总结: 构建DSL是通过HighLevelRestClient中的resource()方法来实现的,这里包含了查询、排序、分页、高亮等操作 构建查询条件的核心部分,即查询类型,

    2024年02月14日
    浏览(45)
  • RestHighLevelClient实现ElasticSearch关联查询之父子文档

    RestHighLevelClient实现ElasticSearch关联查询之父子文档今天分享,承接上一篇内容: DSL操作关联查询 这篇我们通过javaAPI的方式实现: 一、springboot 配置 1、pom文件引用: 2、初始化配置es操作类 3、业务层引用 二、核心伪代码 1、创建父子索引 kibana查看 2、判断索引是否存在 3、删

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包