query builder python-elasticsearch返回指定字段

1. postman 请求elasticsearch 返回指定字段

1.直接在请求体当中,json 数据,对应的是一个列表

{

"_source":["title","id","desc"],

"from":10,

"size":100,

}

至于from和size是浅分页

2. 或者这样

{"_source":{"includes":["title","url","id"],"excludes":["desc"]

}

}

其中includes代表需要返回的字段,excludes代表不要返回的字段

3.直接在请求url带上需要查询参数

curl -XGET "localhost:9200/_search?pretty&filter_path=took,hits.hits._id,hits.hits._score"

{"took" : 3,"hits": {"hits": [

{"_id" : "3640","_score" : 1.0},

{"_id" : "3642","_score" : 1.0}

]

}

}

对_source的字段进行过滤

curl -XGET "localhost:9200/_search?pretty&filter_path=hits.hits._source&_source=title"

{"hits": {"hits": [ {"_source":{"title":"Book #2"}

}, {"_source":{"title":"Book #1"}

}, {"_source":{"title":"Book #3"}

} ]

}

}

这样也可以

_search?_source=goodsId,uri

_search?fields=goodsId,uri

2.python 对接elassearch ,指定返回字段

1.实例化的es客户端,然后调用search方法,传入参数,params

from elasticsearch import Elasticsearch

es=Elasticseach(xxxx) es.search(params={"_source":"title,id,desc,url"})

注:这边调用的是包中的search方法,和postman不一样的是,_source的值是一个z字符串,不同字段用逗号隔开,而post满是一个列表

2.也是调用Elasticsearch的search方法,传入参数不是param,而直接是_source字段

pprint(es.search(index="person", body={"query": {"match": {"age": "19"}}}, _source=["name"]))

结果:

{"_shards": {"failed": 0, "skipped": 0, "successful": 1, "total": 1},"hits": {"hits": [{"_id": "xFznIXIBMTX0DMkCyicV","_index": "person","_score": 1.0,"_source": {"name": "lisi"},"_type": "male"}],"max_score": 1.0,"total": {"relation": "eq", "value": 1}},"timed_out": False,"took": 1}

3.不懂直接查询api接口

4.返回文档版本字段

GET /_search

{"version": true,"query": {"term" : { "user" : "kimchy"}

}

}

5.Script Field 用脚本来对命中的每个文档的字段进行运算后返回

GET /bank/_search

{"query": {"match_all": {}

},"script_fields": {"test1": {"script": {"lang": "painless","source": "doc["balance"].value * 2"}

},"test2": {"script": {"lang": "painless",

"source": "doc["age"].value * params.factor","params": {"factor": 2}

}

} }}

搜索结果:

{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0

},"hits": {"total": 1000,"max_score": 1,"hits": [

{"_index": "bank","_type": "_doc","_id": "25","_score": 1,"fields": {"test1": [

],"test2": [

]

}

},

{"_index": "bank","_type": "_doc","_id": "44","_score": 1,"fields": {"test1": [

],"test2": [

]

}

}}

]

}

}

示例2

GET/bank/_search

{"query": {"match_all": {}

},"script_fields": {"ffx": {"script": {"lang": "painless","source": "doc["age"].value * doc["balance"].value"}

},"balance*2": {"script": {"lang": "painless","source": "params["_source"].balance*2"}

}

}

}

搜索结果:

{"took": 26,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0

},"hits": {"total": 1000,"max_score": 1,"hits": [

{"_index": "bank","_type": "_doc","_id": "25","_score": 1,"fields": {"balance*2": [

],"ffx": [

]

}

},

{"_index": "bank","_type": "_doc","_id": "44","_score": 1,"fields": {"balance*2": [

],"ffx": [

]

}

},}

]

}

}

说明: params _source 取 _source字段值

官方推荐使用doc,理由是用doc效率比取_source 高

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visio各图形如何一键自动对齐?

在创作的过程中,不用管图形是否对齐,间距是否一致,在最后的时候,一键对齐 具体操作: 开始---------位置------自动对齐与自动调整间距

黎明之路服务器正在维护,黎明之路进不去怎么办_黎明之路更新失败怎么办_玩游戏网...

《代号Z》什么时候上线根据最新的消息,《代号Z》这款游戏已经正式更名为《黎明之路》,那么名字也最终确定了,这款游戏到底什么时候上线呢?下面就跟着玩游戏网的小编一起了解一下吧~《代号Z》上线时间:游戏将会在4月26日…

OpenGL阴影添加学习材料及总结

学习材料 PBR基于物理的实时渲染采用了更符合物理学规律的方式来模拟光线,通过模拟虚拟物体表面的粗糙程度,来计算出射该物体的光线呈现一个怎样的方式。PBR材料的三个主要参数称为:反照率、粗糙度、金属度,上图反映了在不同粗糙度…

Springboot与Spring的关系

阐述 boot这词的翻译:[计算机科学] 引导。 先拿生活中打电话的例子来解释下这两者的关系: Spring的电话号码是:13355556666 攻城狮A,B,C都要联系Spring 攻城狮A,每次都输入Spring的号码,再按拨号键,联…

php修改学生信息代码_值得收藏的CRM软件客户管理系统(包括JAVA/PHP)

悟空CRM是一款永久开源免费的CRM管理系统,悟空CRM-基于JAVA/TP5.0vueElementUI的前后端分离CRM系统 ,悟空CRM是基于JAVA/PHP多语言的B/S架构的管理软件,为企业提供行业专属的crm客户管理方案。 悟空CRM,CRM,免费CRM,开源HRMS,开源OA,移动办公,办公软件,手…

ajax验证码验证对错,jQuery Ajax显示对号和错号用于验证输入验证码是否正确

AJAX 的 jQuery Ajax显示对号和错号用于验证输入验证码是否正确废话不多说了,直接给大家贴代码了,具体代码如下所示:$(document).ready(function(e) {$(#yes).hide();$(#no).hide();$(input[namegcode]).keyup(function(){if($(this).val().l…

灰度内测是什么意思?

灰度测试是什么意思?如果您对互联网软件开发行业了解不多,您可能对这个词不太熟悉。事实上,灰度测试是指如果软件要在不久的将来推出新功能,或者进行重大修改,你必须首先做少量的试验工作,然后慢慢增加数量…

给点建议!开源项目架构选择!仿腾讯IM后端项目!InChat!

希望各位猿类给点建议或者提一些新的方案思路! 前言 小弟无心插柳的聊天项目InChat(一开始叫SBToNettyChat)在广大互联网朋友的积极推动下,慢慢步入正轨,目前2个月(一周4小时开发时间的速度)迭代…

ajax 传递arraybuffer,jQuery $ .ajax或$ .load是否允许responseType arrayBuffer?

小编典典关于您的问题,jQuery似乎还不支持它。在按照我下面的建议使用它之前,请考虑检查该功能是否可用。使用XHTMLRequest,您可以欺骗您的服务器,并从服务器接收一个代表您想要的字节的二进制字符串。它完美地工作。var xhr new…

Project给任务分配资源

视图:资源工作表 现有资源如下: 项目经理,工时类资源,55元每小时,3月份在当前项目平均每天只能投入一半的时间 视图:任务分配状况工具 此视图分配给任务分配资源特别方便,分配任务的资源为“…

gdiplus判断一个点是否在圆弧线上_福建教师招聘考试小学数学面试教案:圆的认识...

开门见山地说:学科知识与教学能力教案设计知识点总结(查看更多)闽小狮:2020年福建教师招聘面试公告汇总(持续更新中)圆,根据欧几里得的《几何原本》定义,是在同一平面内到定点的距离…

Project中三种任务类型解释

概述 Project--文件---选项---日程里,有“默认任务类型”设置 三种任务类型,与资源结合起来后,就需要根据实际情况选择了。 固定单位 这是Project默认的任务类型。固定什么东西?固定的是资源单位。 资源单位定义:单…

ajax参数中有加号,浅谈在js传递参数中含加号(+)的处理方式

一般情况下,URL 中的参数应使用 url 编码规则,即把参数字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号()。但是对于带有中文的参数来说,这种编码会使编码后的字符串变得很长…

基本权限总结

rwx r 针对目录 能够看到目录下的内容,也就是说能够使用ls 查看目录下的内容针对文件 能够看文件内的内容,也就是说能够使用cat 查看文件内的内容 w 针对目录 如果目录有w权限,就可以删除目录下的内容针对文件 如果文件有w权限,就…

电脑用电量_闲置电脑也能赚钱?「BOINC算力地球」借区块链技术扩大共享算力...

阎研希望在未来三到五年内,将BOINC平台的算力规模扩大到目前的四倍,这相当于目前阿里云两个大型机房的算力规模。你可曾想过,未来有一天你可以利用自己闲置的电脑来赚钱,同时还能为科研项目作出贡献,甚至突破太空&…

加了密的PDF如何破解复制?

概述 PDF被加密了,可以查看,可以打印,但是复制不了内容。 不知道密码,如何不花钱破解它? 方法 工具:谷歌浏览器,或谷歌内核的360、qq等浏览器 1.打开谷歌浏览器 2.将pdf文件拖进浏览器&…

nat - 虚拟服务器设置,nat 虚拟服务器设置

nat 虚拟服务器设置 内容精选换一换虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个云服务器的网卡绑定,从而实现多个云服务器之间的高可用性。登录管理控制台。单击管理控制台左上角的,选择区域和项目。选择“计算 > 云耀云服务器”…

新款苹果电脑_苹果真牛!iPhone的软件,苹果电脑上也照样可用了

在刚刚过去的双11大战中,几大手机厂商,打得是不可开交。为了这次年度狂欢,不仅苹果准备了iPhone12,余承东推出了华为Mate40,刘作虎亮出了一加8T,小米特供了Redmi K30S至尊版,就连久久没有动作的…

win10 设置游戏全屏

小米笔记本pro,双显卡,win10 用百度搜的修改注册表的值,没有用。 方法是: 1.桌面--右键--英特尔显卡设置 2.选择显示器 3.缩放比例,选择覆盖应用程序设置,点击应用

【算法】LeetCode算法题-Remove Duplicates from Sorted Array

这是悦乐书的第149次更新,第151篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第8题(顺位题号是26)。给定一个已经排序(由小到大)的整数数组(元素可以重复),计算其中不重复元素的个数n&…