ES 学习

1、安装遇到的坑

安装ES:

  1. 需要在配置关闭ssl验证
  2. 安装过程中有打印密码等信息,可以复制,也可以用elasticsearch-reset-password.bat重置密码

安装kibana:

  1. 需要配置es地址
  2. 提示没有登陆,配置了账号密码,然后提示不能用elastic账号,可以用token,用elasticsearch-service-tokens.bat获取了token,配置后启动成功(获取账号时需要是elastic/kibana命名空间的 不能是elastic/fleet-server的)

2、简介

简介参考:
在这里插入图片描述

3、简单使用

查:示例
改:示例

//链接
$e = \Elasticsearch\ClientBuilder::create()
->setBasicAuthentication('elastic', '密码')		//用户名密码
//->setApiKey() //api登录(用户名2选1)
->setHosts(['127.0.0.1:9200'])			//改端口
->build();

//版本信息
$elastic = $e->info();
//索引存在
$e->indices()->exists(['index' => 'k']);
//创建简单索引
$e->indices()->create(['index' => 'k']);
//获取索引映射
$e->indices()->getMapping(['index' => 'k']);
//更新索引影射
$client->update($params);
//增
$e->index(['index' => 'k', 'body' => ['dd' => date('Y-m-d H:i:s')]])
//ID单查
$e->get(['index' => 'k', 'id' => 'PbudUYEBuG61Ky6oi7Pk'])
//模糊查询
$params = [
    'index' => 'k',
    'body' => [
        'query' => [
            'match' => [
                'dd' => '2022'
            ]
        ]
    ]
];
$e->search($params);
//改
$params = [
     'index' => 'k',
     'id' => 'P7vCUYEBuG61Ky6otrO5',
     'body' => [
         'doc' => [
             'dd' => '2022'
         ]
     ]
 ];
 $e->update($params);
//删
$e->deleteByQuery($params);
//删除索引
$e->indices()->delete(['index' => 'k']);

4、坑

count(distinct)查询精确度问题

//precision_threshold:接受 0–40000 之间的数字,更大的值还是会被当作 40000 来处理。
GET /myindex/mytype/_search
{
    "size" : 0,
    "aggs" : {
        "distinct_idCard" : {
            "cardinality" : {
              "field" : "idCard",
              "precision_threshold" : 100 
            }
        }
    }
}

5、kibana的dev tools使用

//SQL查询
POST /_sql?format=txt
{
  "query" :"SELECT DISTINCT createDate FROM index"
}

//查询ES语法
POST /_sql/translate
{
  "query": "SELECT count(DISTINCT amazonOrderId) from es_index_order_item_list_ori where purchaseDate>=1654012800 AND purchaseDate<1654099200 AND showName = 'BPQE-US' AND orderStatus IN ('Pending', 'Unshipped', 'Shipped')"
}
  
//删除索引
DELETE /es_index_am_sales_seller_sku
你好!关于学习Elasticsearch,我可以给你一些指导。Elasticsearch是一个开源的分布式搜索和分析引擎,主要用于快速、实时地存储、搜索和分析大量数据。下面是一些学习Elasticsearch的步骤: 1. 了解基本概念:开始学习Elasticsearch之前,你需要了解一些基本的概念,比如索引(index)、类型(type)、文档(document)、字段(field)等。这将帮助你更好地理解Elasticsearch的工作原理。 2. 安装和配置:根据你的操作系统,你可以从Elasticsearch官方网站下载并安装合适的版本。安装完成后,你需要进行适当的配置,如设置集群名称、分配内存等。 3. 学习REST API:Elasticsearch提供了丰富的REST API,用于与其进行交互。了解如何使用这些API来索引、搜索和删除数据是学习Elasticsearch的重要一步。 4. 索引和搜索数据:学习如何创建索引、添加文档以及执行搜索操作是使用Elasticsearch的关键。掌握查询语法、过滤器、聚合操作等功能可以帮助你更有效地使用Elasticsearch。 5. 数据建模和分析:学习如何设计合适的数据模型和映射,以及如何使用Elasticsearch进行数据分析和可视化是提高你的技能的重要一步。 6. 扩展和优化:学习如何在生产环境中扩展和优化Elasticsearch集群是非常重要的。了解如何分片、复制、调优性能等将帮助你更好地管理和维护你的数据。 7. 学习资源:除了官方文档,还有很多优秀的学习资源可供参考,如书籍、教程和在线课程等。利用这些资源可以更系统地学习和掌握Elasticsearch。 希望这些步骤能对你学习Elasticsearch有所帮助!如果有任何问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值