es查询学习记录

背景

本文记录使用es过程中的学习记录

其java api 可以参考官网文档如下

Index API | Java REST Client [7.5] | Elastic

1. IndexRequest 相关

该方式是新建索引api,如存在相同的id,则会覆盖掉

使用bulk批量调用es,或新增或删除

例如

BulkRequest bulkRequest = new BulkRequest();
bulkRequest.add(new DeleteRequest("myIndex", "myDoc", "1"));
bulkRequest.add(new UpdateRequest("myIndex", "myDoc", "2").doc(XContentType.JSON,"other", "test").fetchSource(true));
bulkRequest.add(new IndexRequest("myIndex")
    .id("1")
    .source("user", "kimchy",
        "postDate", new Date(),
        "message", "trying out Elasticsearch"););

/**public IndexRequest source(String source, XContentType xContentType) {
        return this.source((BytesReference)(new BytesArray(source)), (XContentType)xContentType);
    }**/
//, XContentType.JSON

根据 BulkItemResponse获取执行的结果

失败 getFailure

成功 getResponse.getResult()

2. 查询 filter 和 must 区别

must效率低,因其需要打分,filter 不需要

must 和filter是同一级别的查询,在bool中

Get /product/_search
{
	"query": {		
	   "bool" : {
	      "must" :     
	      "should" :  
	      "must_not" :
	      "filter": 
	    }
	 }


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值