一些kinbna原生操作

简介: 一些kinbna原生操作

1、基本操作

查看索引的settings

GET /index_name/_settings

查看索引的mappings

GET /index_name/_mapping

新建索引mappings

PUT /index_name/_mapping
{
  "properties": {
      "content": {
      "type": "text",
      "term_vector": "with_positions_offsets",
      "similarity": "BM25",
      "analyzer": "english",
      "search_analyzer": "standard",
      "fielddata": true
    },
    "country": {
      "type": "keyword"
    },
    "emotion": {
      "type": "byte"
    },  
    "time": {
      "type": "date",
      "format": "yyyy-MM-dd HH:mm:ss"
    }
  }
  }


新索引settings和mappings

PUT /index_name
{
  "settings":{
    "number_of_shards":3,
    "number_of_replicas":2
  },
  "mappings":{
    "properties":{
      "id":{"type":"long"},
      "name":{"type":"text","analyzer":"ik_smart"},
      "text":{"type":"text","analyzer":"ik_max_word"}
    }
  }
}


GET /_cluster/settings
PUT /_cluster/settings
{"persistent": {"search.max_buckets": 1000000}}

2、设置动态模板

设置动态模板

PUT index_name
{
 "mappings": {
    "dynamic_templates": [
      {
        "content": {
          "match": "content",
          "mapping": {
          "type": "text",
          "analyzer": "standard",
          "search_analyzer": "english"
        }
      }
      },
      {
        "title": {
           "match": "tit*",
          "mapping": {
          "type": "text",
          "analyzer": "english"
        }
        }
      }
    ],
  "properties": {
    "content": {
      "type": "text",
      "term_vector": "with_positions_offsets",
      "similarity": "BM25",
      "analyzer": "standard",
      "fielddata": true
    },
    "summary": {
      "type": "text",
      "term_vector": "with_positions_offsets",
      "similarity": "BM25",
      "analyzer": "standard",
      "fielddata": true
    },
    "title": {
      "type": "text",
      "term_vector": "with_positions_offsets",
      "similarity": "BM25",
      "analyzer": "standard"
    }
  }
  }
}


3、scroll滚动查询

I、滚动scroll查询

# 查询media为“新闻报”的内容,查询200条,时间为1000ms
**GET index_name/_search?scroll=1000ms
{
  "query": {
    "match": {
      "media": "新闻报"
    }
  },
  "size": 200
}**


II、continue继续scroll查询(scorll查询后会返回一个scroll_id,可以通过scroll_id继续查询)

GET _search/scroll
{
  "scroll": "1000ms",
  "scroll_id":"FGluY2x1ZGVfY29udGV4dF91dWlkDnF1ZXJ5VGhlbkZldGNoBRY0bWVKNHJoelJLU3h4bE5FTFFEU3BnAAAAAAAOXp8WUHdKQnB6WGpSRzZndWZVaEppVFNnQRY0bWVKNHJoelJLU3h4bE5FTFFEU3BnAAAAAAAOXqEWUHdKQnB6WGpSRzZndWZVaEppVFNnQRY0bWVKNHJoelJLU3h4bE5FTFFEU3BnAAAAAAAOXqMWUHdKQnB6WGpSRzZndWZVaEppVFNnQRY0bWVKNHJoelJLU3h4bE5FTFFEU3BnAAAAAAAOXqAWUHdKQnB6WGpSRzZndWZVaEppVFNnQRY0bWVKNHJoelJLU3h4bE5FTFFEU3BnAAAAAAAOXqIWUHdKQnB6WGpSRzZndWZVaEppVFNnQQ="
}


4、分词查询

查看分词器解析效果

GET /index_name/_analyze
{
  "field": "title",
  "text": "The quick Brown Foxes."
}


5、聚合查询

分组查询

# index_name是查询的索引,emotionGroup是分组名称(可自行设置),field后是分组的字段
GET index_name/_search
{
  "aggs":{
    "emotionGroup":{
      "terms":{
        "field":"emotion"
      }
    }
 },
 "size": 0  #查询显示的文档条目数
}

分组后求和

GET index_name/_search
{
  "aggs":{
    "aggGroup":{ # 自己设置名称
      "terms":{
        "field":"emotion"
    },
    "aggs":{
      "emotionSum":{ # 自己设置名称
        "sum": {
          "field": "emotion"
          }
        }
      }
    }
 },
 "size": 0
}


求平均值

GET index_name/_search
{
  "aggs":{
    "emotionAvg":{ # 自己设置名称
      "avg":{
        "field":"emotion"
      }
    }
 },
 "size": 0  
}


获取前3名操作

GET index_name/_search
{
  "aggs":{
    "top3":{ # 自己设置名称
      "top_hit":{
        "size":3
      }
    }
 },
 "size": 0  
}


先排序,再获取前3名操作

GET index_name/_search
{
  "aggs":{
    "top3":{
      "top_hits":{
        "sort": [{
          "emotion":{
            "order": "desc"
          }
        }], 
        "size":3
      }
    }
 },
 "size": 0
}
相关文章
|
8天前
|
开发框架 小程序 IDE
鸿蒙原生开发手记:05-开发之外的那些事
鸿蒙原生开发手记:05-开发之外的那些事
50 9
|
3月前
|
JavaScript 前端开发 索引
JavaScript ES6及后续版本:新增的常用特性与亮点解析
JavaScript ES6及后续版本:新增的常用特性与亮点解析
78 4
|
8月前
|
XML JSON 缓存
原生AXAJ
本文介绍了原生AJAX的特性,其主要优点是能无刷新获取数据,但也存在跨域问题。接着讲解了Express框架的基本使用,包括创建应用、定义路由和启动服务。然后展示了如何通过AJAX从服务器获取并显示JSON数据,处理了IE的缓存问题和网络延时,以及如何处理重复请求。最后提到了通过设置超时和错误处理来改善用户体验。
65 1
|
8月前
|
移动开发 JavaScript Android开发
H5封装和原生开发这两种不同的应用开发方式有什么区别?
原生开发是指为特定操作系统(如iOS或Android)开发应用程序。整个应用程序代码,逻辑和界面都是按照该系统提供的规范来开发,因此其性能和体验感会很好,可以与设备充分融洽,提供流畅的用户体验。原生开发App充分的利用了操作系统的功能,给设备上的应用程序提供了高性能和良好的用户体验。原生应用程序拥有很好的设备兼容性,可以直接访问设备的硬件功能等,如相机,蓝牙等。
55 1
|
8月前
|
SQL 消息中间件 数据采集
功能特性
本文介绍日志服务主要的功能。
46 1
|
8月前
|
存储 安全 Linux
构建一个atf必须读点gic的原生文档
构建一个atf必须读点gic的原生文档
94 0
|
存储 安全 数据处理
原生云基础介绍
原生云是一种新的云计算模式,旨在充分利用云计算的优势,为企业提供高度自动化的、弹性的、可扩展的IT能力。它主张将应用程序及其依赖项直接部署在云平台上,以实现更高效、更灵活、更可扩展的IT资源管理和应用性能优化。原生云具有自动化、弹性、可扩展性、安全性和成本效益等优势,适用于各种行业和场景,包括互联网业务、金融行业、制造业、政府机构、教育行业和医疗行业等。
118 1
|
8月前
|
小程序
Uniapp 解决组件在官方文档不支持的事件上,接收小程序原生组件事件
Uniapp 解决组件在官方文档不支持的事件上,接收小程序原生组件事件
116 0
|
移动开发 小程序 开发工具
Donut 多端框架是支持使用小程序原生语法开发移动应用的框架
Donut 多端框架是支持使用小程序原生语法开发移动应用的框架,开发者可以一次编码,分别编译为小程序和 Android 以及 iOS 应用,实现多端开发
460 0
Donut 多端框架是支持使用小程序原生语法开发移动应用的框架
|
JavaScript 小程序
UniApp 小程序封装原生组件(使用与交互详细流程)
UniApp 小程序封装原生组件(使用与交互详细流程)
451 0

热门文章

最新文章