当前位置: 首页>数据库>正文

怎么 启动后台启动es liunx 如何启动elasticsearch

安装:

        安装方式很多先以一种为主 后期会补上docker安装等方式

        官网下载

        下载后解压缩

怎么 启动后台启动es liunx 如何启动elasticsearch,怎么 启动后台启动es liunx 如何启动elasticsearch_Elastic,第1张

我是下载的macOS版本

直接解压

tar -xvf elasticsearch-7.13.2-darwin-x86_64.tar.gz
cd 进去bin目录
./elasticsearch 启动  注意:启动es需要先安装jdk

启动好了 就一顿刷日志说明没啥问题

还要注意标有 http 地址 ( 192.168.8.112) 和端口 ( 9200) 信息的行,我们的节点可以从这些信息访问。默认情况下,Elasticsearch 使用端口9200来提供对其 REST API 的访问。如有必要,可配置此端口。

启动的话可以通过加参数来设置自己的节点名称

./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name

重启的时候出现

failed to obtain node locks 这个错误的话。可以查看下进程 是不是有没被kill的es进程

有的话直接kill -9 干掉就行

到这边的话安装就算是告一段落了。接下来我们来看看怎么使用它

使用:

官网扒一点东西过来。。。。哈哈哈哈哈

Elasticsearch 提供了一个非常全面且强大的 REST API,您可以使用它与您的集群进行交互。可以使用 API 完成的几件事如下:


  • 检查您的集群、节点和索引运行状况、状态和统计信息
  • 管理您的集群、节点和索引数据和元数据
  • 对索引执行 CRUD(创建、读取、更新和删除)和搜索操作
  • 执行高级搜索操作,例如分页、排序、过滤、脚本编写、聚合等


执行

http://127.0.0.1:9200/_cat/health?v

可以看到你本地启动的es实例

 首先的话先看下status。正常情况下是green

  • 绿色 - 一切都很好(集群功能齐全)
  • 黄色 - 所有数据都可用,但一些副本尚未分配(集群功能齐全)
  • 红色 - 由于某种原因,某些数据不可用(集群部分功能)

注意:当集群为红色时,它将继续处理来自可用分片的搜索请求,但您可能需要尽快修复它,因为存在未分配的分片。

接下来会请求几个链接来看看es的一些基本情况

http://localhost:9200/_cat/nodes?v&pretty 可以查看节点信息
http://localhost:9200/_cat/indices?v&pretty 查看索引
第一次的话因为没有创建所以返回
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

先创建索引

http://localhost:9200/索引名称?pretty&pretty

 这个时候在查询的话就有索引数据了(默认的话是创建5个主分片和1个副本),查出来以后会看到health是yellow 说明还未分配

接下来就是给索引塞个值

http://localhost:9200/customer1/doc/1?pretty&pretty 
body :
{
    "name":"aze"
}

http://localhost:9200/customer1/doc/1?pretty&pretty 查询看看就可以看到我们先前推的值了

Elasticsearch 不要求您先显式创建索引,然后才能将文档索引到其中。在前面的示例中,如果客户索引事先不存在,Elasticsearch 将自动创建它。

 删除索引的话就是比较简单

http://localhost:9200/索引名称?pretty&pretty delete请求

更新原有数据只需请求相同url body替换就行,如果不想指定id应该有post请求而不是put,这样的话就会随机生成一个id(所以es还是严格按照rest接口的)

下面的内容是更新整个文档

http://localhost:9200/customer1/doc/1/_update?pretty&pretty  可以对整个文档进行更新,过程是删除旧的doc然后在一次性索引一个新文档

Elasticsearch 提供了在给定查询条件(如SQL UPDATE-WHERE语句)的情况下更新多个文档的能力。见docs-update-by-queryAPI

删除数据也是比较简单的

http://localhost:9200/customer1/doc/2?pretty&pretty delete请求

官网般的 请参阅_delete_by_queryAPI以删除与特定查询匹配的所有文档。值得注意的是,使用 Delete By Query API 删除整个索引比删除所有文档要高效得多。

这边需要说个点,就是body的条件的用法(其他应该都类似)

http://localhost:9200/索引/_delete_by_query?pretty post请求
body:
{
  "query": { 
    "match": {
      "匹配key": "匹配value"
    }
  }
}

es是提供批量操作的api,这边的话就说一个,就是批量更新 你需要把更新的所有数据放进去(使用_bulk更新的话) ,因为是不支持增量更新


https://www.xamrdz.com/database/66e1957473.html

相关文章: