RESTfull接口访问Elasticsearch

2024-04-02 13:44

本文主要是介绍RESTfull接口访问Elasticsearch,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【数据库的健康值】
curl -X GET  "ip:9200/_cat/health"

【查看所有索引】
curl -X GET "ip:9200/_cat/indices?v"

【查看索引index_name】
curl -X GET "ip:9200/索引?pretty"


【创建索引/文档】
PUT "ip:9200/索引/文档id"
{请求体}

【更新文档】
POST /索引/类型/文档id/_update
{
    "doc": {
        "name": "赤羽信之戒",
        "age": 46
    }
}

【删除文档】
DELETE 索引/类型/文档Id

---------------------------------【查询文档】------------------------------
GET 索引/类型/文档id

GET 索引/类型/_search?q=name:smy

精确匹配
GET 索引/_search
{
  "query": {
    "match": {  
      "name": "任飘渺"
    }
  }
}

and 过滤

GET 索引/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "任飘渺"
          }
        },
        {
          "match": {
            "age": "40"
          }
        }
      ]
    }
  }
}

or 过滤

GET 索引/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "name": "任飘渺"
          }
        },
        {
          "match": {
            "age": "40"
          }
        }
      ]
    }
  }
}

not 过滤

GET 索引/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "age": "40"
          }
        }
      ]
    }
  }
}

范围过滤
GET 索引/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "任飘渺"
          }
        }
      ],
      "filter": {
        "range": {
          "age": {
            "gt": 20,
            "lt": 40
          }
        }
      }
    }
  }
}

精确查询  精确查询是通过term关键字来实现的,他的底层是通过直接查询倒排索引,效率更高!
关于分词的解释:
(1)term:直接查询精确的
(2)match:会使用分词器(会先分析文档,然后通过分析的文档进行查询!查询效率低)

说明:如果类型是text类型,那么是可以被分词器解析的;如果是keyword类型的,是不能被分词器解析,想使用match或者term来查询这个字段匹配的,只能查询出完全匹配的数据来,其他的数据差一个字符都不能被查询出来!

GET 索引/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "name": "任飘渺"
          }
        },
        {
          "term": {
            "age": "40"
          }
        }
      ]
    }
  }
}

过滤字段

GET 索引/_search
{
  "_source":["name","age"],
  "query": {
    "match": {
      "name": "任飘渺"
    }
  }
}

排序
GET 索引/_search
{
  "query": {
    "match": {
      "name": "任飘渺"
    }
  },
  "sort": [
    {
      "age": {
        "order": "asc"
      }
    }
  ],
  "from":0,
  "size":1
}

这篇关于RESTfull接口访问Elasticsearch的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/870139

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng