elasticsearch源码分析——客户端

本文深入探讨Elasticsearch的客户端实现,包括RestClient和TcpClient。RestClient通过9200端口提供服务,有LowLevelClient和RestHighLevelClient,后者对JSON数据进行了封装。TcpClient通过9300端口,使用TCP进行序列化数据传输。初始化和创建index的步骤也进行了介绍,并提醒在使用客户端时注意负载均衡和设置配置的正确处理。
摘要由CSDN通过智能技术生成

直观一点,现在源码已经可以进行调试,那就先熟悉一下,elasticsearch的操作逻辑。最基础的就是url,elasticsearch本身也做了request和response的封装,有一定了解的话,用起来还是比较方便的。

URL

1、创建index[当然了,你要是直接导入数据,elasticsearch也是会自动为你创建对应的mappings结构]
indexName:test 对应的可以理解成一个数据库吧
type:document 一张表
properties:表的元数据
curl -X PUT "localhost:9200/test" -H 'Content-Type: application/json' -d'
{
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings" : {
        "document" : {
            "properties" : {
                "user" : { "type" : "text" },
                "post_date" : { "type" : "text" },
                "message" : { "type" : "text" }
            }
        }
    }
}'
2、导入数据
如果没有指定_id,那就要定义为post请求
curl -X POST "localhost:9200/test/document" -H 'Content-Type: application/json' -d'
{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}'
如果定义了_id那就是put请求,_id为1
curl -X PUT "localhost:9200/test/document/1" -H 'Content-Type: application/json' -d'
{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}'
3、删除index
curl -X DELETE "localhost:9200/twitter"
4、查询的语法太多了,慢慢了解吧。
curl -X POST "localhost:9200/_search" -H 'Content-Type: application/json' -d'
{
    "query" : {
        "match_all" : {}
    }
}'

参考 Elasticsearch 5.x 源码分析(2)TransportClient和RestClient

RestClient 9200

在后续的版本中提供了RestHighLevelClient,做的就是对json数据进行了包装。request有很多builder包装。response包装成了对应的response。但是并不是包装了所有的请求。
maven pom文件

    <dependencies>
        <dependency>
            
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值