利用kibana插件对Elasticsearch查询
利用kibana插件对Elasticsearch查询
Elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据。
查询分类:
基本查询:使用Elasticsearch内置查询条件进行查询
组合查询:把多个查询组合在一起进行复合查询
过滤:查询同时,通过filter条件在不影响打分的情况下筛选数据
创建索引
PUT lagou
{
"mappings": {
"job":{
"properties": {
"title":{
"store": true,
"type": "text",
"analyzer": "ik_max_word"
},
"company_name":{
"store": true,
"type": "keyword"
},
"desc":{
"type": "text"
},
"comments":{
"type": "integer"
},
"add_time":{
"type": "date",
"format": "yyyy-MM-dd"
}
}
}
}
}
PUT lagou
POST lagou/job
{
"title":"python django 开发工程师",
"company_name":"美团",
"desc":"美团是一个在吗在吗在吗",
"comments":20,
"add_time":"2017-4-16"
}
POST lagou/job
{
"title":"python 爬虫 开发工程师",
"company_name":"数据冰山",
"desc":"专门找数据的一家公司 python",
"comments":15,
"add_time":"2016-4-16"
}
POST lagou/job
{
"title":"django 后端 开发工程师",
"company_name":"百度科技有限公司",
"desc":"我也不知道这里应该写一点什么东西了 python",
"comments":20,
"add_time":"2017-4-16"
}
POST lagou/job
{
"title":"python GUI 开发工程师",
"company_name":"熊猫",
"desc":"在线视频教育python",
"comments":6,
"add_time":"2017-4-16"
}
#match查询,
对我们的输入进行一个分词,指明一个字段,会去找这个字段有没有我们写的这个关键词,关键词不区分大小写,在做分词的时候会自动对大小写进行转换
GET lagou/_search
GET lagou/job/_search
{
"query": {
"match": {
"title": "爬取"
}
}
}
#term查询#
传递过来的关键词不会进行任何处理不会解析,text 会分词,keyword不会分词的
GET lagou/job/_search
{
"query": {
"term": {
"company_name": "百度科技有限公司"
}
}
}
#terms查询
只要关键字中有一个都会匹配出来
GET lagou/job/_search
{
"query": {
"terms": {
"title": ["django","开发","python"]
}
}
}
#控制查询的返回数量
GET lagou/_search
{
"query": {
"match": {
"title": "python"
}
},
"from": ,
"size":
}
#从哪开始,数量多少
#match——all 查询
GET lagou/job/_search
{
"query": {
"match_all": {}
}
}
#match_phrase查询#短语查询
#slop 两词之间最小的距离,query 必须都满足所有的分词的关键词
GET lagou/_search
{
"query": {
"match_phrase": {
"title": {
"query": "python django",
"slop":
}
}
}
}
#multi_match查询#
比如可以指定多个字段#比如查询title和desc这两个字段里面包含python 的关键词的文档GET lagou/job/_search
# ^3 指的是权重,什么比什么的权重高多少
GET lagou/_search
{
"query": {
"multi_match": {
"query": "python",
"fields": ["title","desc^3"]
}
}
}
#指定返回的字段
GET lagou/_search
{
"stored_fields": ["title"],
"query": {
"match": {
"title": "开发"
}
}
}
#通过sort把结果排序
GET lagou/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"comments": {
"order": "desc"
}
}
]
}
#范围查询#range查询
GET lagou/_search
{
"query": {
"range": {
"comments": {
"gte": ,
"lte": ,
"boost": 2.0
}
}
}
}
#range查询
GET lagou/_search
{
"query": {
"range": {
"add_time": {
"gte": "2017-04-01",
"lte": "now"
}
}
}
}
#wildcard 查询#简单的模糊查询
GET lagou/_search
{
"query": {
"wildcard": {
"title": {
"value": "pyth*n",
"boost":
}
}
}
}
利用kibana插件对Elasticsearch查询的更多相关文章
- 利用kibana插件对Elasticsearch进行bool查询
#bool查询#老版本的filtered查询已经被bool代替#用 bool包括 must should must_not filter来完成 ,格式如下:#bool:{# "filter ...
- 利用kibana插件对Elasticsearch进行映射
映射(mapping) 映射是创建索引的时候,可以预先定义字段的类型以及相关属性 Elasticsearch会根据JSON源数据的基础类型去猜测你想要的字段映射.将输入的数据变成可搜索的索引项.Map ...
- 利用kibana插件对Elasticsearch进行批量操作
#############批量获取################# #获取所有数据 GET _mget { "docs": [ {"_index":" ...
- 利用kibana插件对Elasticsearch进行文档和索引的CRUD操作
#添加索引PUT lagou { "settings": { "index": { , } } }#查看 索引设置 GET lagou/_settings GE ...
- 利用Logstash插件进行Elasticsearch与Mysql的数据
Logstash与Elasticsearch的安装就不多说了,我之前有两篇文章写的比较详细了ElasticSearch + Logstash + Kibana 搭建笔记 和 Filebeat+Logs ...
- 利用kibana学习 elasticsearch restful api (DSL)
利用kibana学习 elasticsearch restful api (DSL) 1.了解elasticsearch基本概念Index: databaseType: tableDocument: ...
- 使用kibana来进行ElasticSearch的信息查询检索
大家经常会听到使用ELK搭建日志管理平台.完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢? ELK包括ElasticSearch(数据存储.快速查询).logstash(日 ...
- Elasticsearch索引的操作,利用kibana(如何创建/删除一个es的索引?)
我们已经通过索引一篇文档创建了一个新的索引 .这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射.现在我们需要对这个建立索引的过程做更多的控制:我们想要确保这个索引有数量适中的主分 ...
- Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射
索引的创建及删除 1. 通过索引一篇文档创建了一个新的索引 .这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射. 利用Kibana提供的DevTools来执行命令,要创建一个索引 ...
随机推荐
- vue base64
安装 cnpm install js-base64 --save 使用 let base64 = require('js-base64').Base64 base64.encode('要加密的内容') ...
- 第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求的两种方式
一. 相关概念介绍 1. SSL证书服务 SSL证书服务由"服务商"联合多家国内外数字证书管理和颁发的权威机构.在xx云平台上直接提供的服务器数字证书.您可以在阿里云.腾讯云等平台 ...
- 轻型Database- sqlite入门
SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.SQLite 是在世界上最广泛部署的 SQL 数据库引擎.SQLite 源代码不受版权限制. 下面跟着 ...
- 乙方渗透测试之Fuzz爆破
前言 爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式. 世界上最可怕的事情是你的习 ...
- Response.Write()方法响应导致页面字体变大的解决办法
关于ASP.NET中用Response.Write()方法响应导致页面字体变大的解决办法 最近研究了ASP.NET,发现一个问题,比方说在页面里面有个Button,要点击以后要打开新窗口,而且 ...
- Bootstrap里的Modal框
- 2019第十二届全国大学生信息安全实践创新赛线上赛Writeup
本文章来自https://www.cnblogs.com/iAmSoScArEd/p/10780242.html 未经允许不得转载! 1.MISC-签到 下载附件后,看到readme.txt打开后提 ...
- vue 前端框架
什么是vue.js 1.vue是目前最火的一个前端框架,react 是最流行的前端框架(react除了开发网站,还可以开发手机APP,vue语法也是可以进行手机app开发的,需要借助于weex) 2. ...
- .NET常用第三方库(包)总结(转)
序列化与反序列化 JSON.NET应该是.NET平台上使用最为广泛的序列化/反序列化包了,ASP.NET和ASP.NET Core中默认序列化/反序列化包 Jil官网上说性能优于JSON.NET 文本 ...
- Gitlab_ansible_jenkins三剑客②Gitlab的后台管理
系统信息和日志 健康状态 使用gitlab的用户管理和审批功能 创建用户 创建一个lead普通账号 进入test-repo仓库 这样就把dev添加到了test-repo这个项目中,并且有了develo ...