ES 安装、search、index、doc

这篇具有很好参考价值的文章主要介绍了ES 安装、search、index、doc。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 安装

https://www.elastic.co/cn/

  • 下载
    https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-5-3
    https://www.elastic.co/cn/downloads/past-releases/kibana-8-5-3

  • 解压,点击 D:\elasticsearch-8.5.3\bin\elasticsearch.bat 启动后会报错

  • 修改配置 "D:\elasticsearch-8.5.3\config\elasticsearch.yml" 配置文件会多出来一些配置

学习环境下,全部改为false即可

# Enable security features
xpack.security.enabled: False

xpack.security.enrollment.enabled: False

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: False
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: False
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
  • 再重新启动 ES
    在浏览器输入 http://localhost:9200/
    看见 json,就算安装好了
    ES 安装、search、index、doc

  • 点击 "D:\kibana-8.5.3\bin\kibana.bat"
    http://localhost:5601/app/dev_tools#/console

  • 测试

写入 doc

put product/_doc/1 
{
  "name": "apple",
  "price": 5.6
}

返回

{
  "_index": "product",
  "_id": "1",
  "_version": 3,
  "result": "updated",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 2,
  "_primary_term": 1
}

查询 doc

get /product/_doc/1

返回

{
  "_index": "product",
  "_id": "1",
  "_version": 3,
  "_seq_no": 2,
  "_primary_term": 1,
  "found": true,
  "_source": {
    "name": "apple",
    "price": 5.6
  }
}

2. search

查看所有 index

get _cat/indices

从 index 中 from 第几个数据开始,size 个docs

GET kibana_sample_data_logs/_search?from=1&size=2

3. index

创建 index

PUT test_index
{
  "settings":{
    "number_of_shards": 1,
    "number_of_replicas": 1
  }
}

删除 index

DELETE test_index

创建完 index 后,主分片数量、index名、字段类型 不可以再修改

重新创建文档,只会带过来 doc,属性设置不会带过来

POST _reindex
{
  "source": {
    "index": "test_index"
  },
  "dest": {
    "index": "new_test_index"
  }
}

检查 index 是否存在

head new_test_index

4. doc CRUD

创建发生在 主分片(可读可写)

op_type

操作类型:

  • index:更新
  • create:只创建,不更新,如果存在相同doc报错
PUT test_index/_doc/1?op_type=create
{
  "name": "test1"
}

id 1 的 doc 已存在,create 报错

{
  "error": {
    "root_cause": [
      {
        "type": "version_conflict_engine_exception",
        "reason": "[1]: version conflict, document already exists (current version [1])",
        "index_uuid": "ntM1X5SOTxiz8tRVwdHK6g",
        "shard": "0",
        "index": "test_index"
      }
    ],
    "type": "version_conflict_engine_exception",
    "reason": "[1]: version conflict, document already exists (current version [1])",
    "index_uuid": "ntM1X5SOTxiz8tRVwdHK6g",
    "shard": "0",
    "index": "test_index"
  },
  "status": 409
}

index 操作,替换 doc

PUT test_index/_doc/1?op_type=index
{
  "name": "test_new"
}
{
  "_index": "test_index",
  "_id": "1",
  "_version": 2,
  "result": "updated",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 1,
  "_primary_term": 1
}

POST 可以自动生成 随机 id

POST test_index/_doc/
{
  "name": "test_new"
}
{
  "_index": "test_index",
  "_id": "YrdpU4UBIo5EnYllVY0M",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 4,
  "_primary_term": 1
}

获取 doc 元字段

  • 获取 doc 元字段 _source=false(不返回 source),不写的话,默认为 true
GET test_index/_doc/1?_source=false
{
  "_index": "test_index",
  "_id": "1",
  "_version": 4,
  "_seq_no": 3,
  "_primary_term": 1,
  "found": true
}

只获取 doc 源数据

GET test_index/_source/1
{
  "name": "test_new"
}

删除 doc

DELETE test_index/_doc/5
{
  "_index": "test_index",
  "_id": "5",
  "_version": 1,
  "result": "not_found",  # id 5 的不存在
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 6,
  "_primary_term": 1
}
{
  "_index": "test_index",
  "_id": "1",
  "_version": 1,
  "result": "deleted",  # id 1 的存在,删除掉了
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 7,
  "_primary_term": 1
}

update doc

  • 更新 doc,更上面的 替换 是不一样的,更新可以只更新部分字段,其他字段保留

先添加一个 doc

POST test_index/_doc/1
{
  "name": "test_new",
  "value": 99
}

再查询

GET test_index/_doc/1

更新部分字段

POST test_index/_update/1
{
  "doc": {
    "value": 100
  }
}

再查询文章来源地址https://www.toymoban.com/news/detail-464009.html

{
  "_index": "test_index",
  "_id": "1",
  "_version": 2,
  "_seq_no": 10,
  "_primary_term": 1,
  "found": true,
  "_source": {
    "name": "test_new",
    "value": 100
  }
}

到了这里,关于ES 安装、search、index、doc的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • DEB方式安装elastic search7以及使用

    参考:https://www.cnblogs.com/anech/p/15957607.html 1、安装elastic search7 #手动下载安装 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb.sha512 shasum -a 512 -c elasticsearch-7.17.1-amd64.deb.sha512  sudo dpkg -i elas

    2024年01月23日
    浏览(46)
  • Centos 7 通过 targz 文件安装 Elastic Search 服务

    区别于通过发行版自带的仓库, 介绍如何通过 targz 文件安装 Elastic Search 服务, 使用的 Linux 为 Centos 7 https://www.elastic.co/downloads/elasticsearch 选择 Linux x86_64, 下载 elasticsearch-8.8.0-linux-x86_64.tar.gz 解压到 /opt/elasticsearch, 并加上软链 这个版本的 Elastic Search 自带 JVM, 版本为 openjdk version

    2024年02月08日
    浏览(42)
  • Docker错误:Error response from daemon: Get https://index.docker.io/v1/search?q=mysql&n=

    使用 docker search ***时 出现错误 Error response from daemon: Get \\\"https://index.docker.io/v1/search?q=mysqln=25\\\": dial tcp: lookup index.docker.io on 192.168.: read udp 192.168.***:41234-192.168***:53: i/o timeout 应该是因为找不到index.docker.io的域名,解决办法在在hosts文件里面配置域名解析就可以了。 使用dig命令查看

    2024年02月03日
    浏览(45)
  • Error response from daemon: Get https://index.docker.io/v1/search?q=&n=25: net/http: TLS timeout

    当使用docker search mysql时 Error response from daemon: Get \\\"https://index.docker.io/v1/search?q=centosn=25\\\": dial tcp: lookup index.docker.io on 192.168.10.2:53: server misbehaving 1.docker镜像问题 cd /etc/docker  --daemon.json。没有就自行新建。 {   \\\"registry-mirrors\\\": [\\\"https://registry.docker-cn.com\\\"] }   2.host文件文件中未/正确配

    2024年02月13日
    浏览(37)
  • 【已解决】Error response from daemon: Get https://index.docker.io/v1/search?q=zookeeper&n=25: dial tcp: l

    ) 在从Docker上pull镜像的时候遇到了如下问题: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers) 我们在安装一些技术栈的时候,平时就会出现以上问题,那遇到以上问题该如何解决? 解决方法一: 解决方法:换源 修改/etc/docker/daemon.json文

    2024年02月03日
    浏览(49)
  • springboot中es查询报错:“failed to create querv:Cannot search on field [ableLook] since it is not indexed“

     报错情况如下:    原因:是因为es字段的 index 设置为 false 不可以通过这个字段进行搜索,比如:  解决:把false 改为 true 或是直接把 \\\"index\\\": false 去掉,默认index为ture

    2024年02月12日
    浏览(41)
  • 【elastic search】JAVA操作elastic search

    目录 1.环境准备 2.ES JAVA API 3.Spring Boot操作ES 本文是作者ES系列的第三篇文章,关于ES的核心概念移步: https://bugman.blog.csdn.net/article/details/135342256?spm=1001.2014.3001.5502 关于ES的下载安装教程以及基本使用,移步: https://bugman.blog.csdn.net/article/details/135342256?spm=1001.2014.3001.5502 在前文

    2024年01月25日
    浏览(46)
  • 解决Visual Studio 2019未能从“https://www.nuget.org/api/v2/package..“下载包问题

    今天从码云官网上下载了一个开源的.net项目,IDE使用的是VS2019,编译之前需要通过NuGet下载依赖的包,但是在下载依赖包的过程中出现了一系列问题。 这个问题主要是NuGet的源地址失效导致的,因此,要解决这个问题,主要是更改NuGet的源地址,更改方法如下: 1、打开Visua

    2024年02月16日
    浏览(54)
  • Elasticsearch启动报updatejava.net.UnknownHostException: geoip.elastic.co错误

    :ES启动时尝试去连接geoip.elastic.co数据库,不解决也可正常访问 在 elasticsearch.yml 中加上一下代码,表示不去连接。 如果访问localhost:9200显示《该网页无法正常运作》如下: 原因:ssl地址访问到了默认地址 解决方法:在 elasticsearch.yml 中修改配置为 false 如下。 重启服务后如下

    2024年02月11日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包