工具:kibana

GET _search
{
"query": {
"match_all": {}
}
} #创建索引结构
PUT sku
{
"mappings":{
"doc":{
"properties":{
"name":{
"type":"text",
"analyzer":"ik_smart"
},
"price":{
"type":"integer"
},
"image":{
"type":"text"
},
"createTime":{
"type":"date"
},
"spuId":{
"type":"keyword"
},
"categoryName":{
"type":"keyword"
},
"brandName":{
"type":"keyword"
},
"spec":{
"type":"object"
},
"saleNum":{
"type":"integer"
},
"commentNum":{
"type":"integer"
}
}
}
}
}
#插入文档 id 自动生成 POST sku/doc
{
"name":"小米手机11",
"price":400000,
"spuId":"101",
"createTime":"2019-01-10",
"categoryName":"手机",
"brandName":"小米",
"saleNum":110214,
"commentNum":15002,
"spec":{
"网络制式":"移动5G",
"屏幕尺寸":"6.0"
}
}
# id为1
PUT sku/doc/1
{
"name":"小米手机",
"price":200000,
"spuId":"101",
"createTime":"2019-11-10",
"categoryName":"手机",
"brandName":"小米",
"saleNum":1022,
"commentNum":15500,
"spec":{
"网络制式":"移动5G",
"屏幕尺寸":"6.0"
}
}
#查询所有数据
GET sku/_search #匹配查询数据
GET sku/_search
{
"query": {
"match_all": {}
}
} #匹配查询数据
GET sku/_search
{
"query": {
"match": {
"name":"小米电视"
}
}
} #精确查询数据
GET sku/_search
{
"query": {
"match": {
"name": {
"query":"小米电视",
"operator":"and"
}
}
}
} #多字段查询包含在"name","categoryName","brandName"字段的 小米
GET sku/_search
{
"query":{
"multi_match":{
"query":"小米",
"fields":["name","categoryName","brandName"]
}
}
} #词条匹配 查询价格=200000
GET sku/_search
{
"query": {
"term": {
"price": {
"value": "200000"
}
}
}
} #多词条匹配 查询价格=200000
GET sku/_search
{
"query": {
"terms": {
"price":[200000,100000]
}
}
} #布尔组合查询 查询名称包含手机的,并且品牌为小米的。
GET sku/_search
{
"query": {
"bool": {
"must": [
{"match": {"name": "手机"}},
{"term": {"brandName": "小米"}}
]
}
}
} #:查询名称包含手机的,或者品牌为小米的. 满足任意一个就可以 GET sku/_search
{
"query": {
"bool": {
"should": [
{"match": {"name": "手机"}},
{"term": {"brandName": "小米"}}
]
}
}
} # 过滤查询 过滤品牌为小米的记录
# 过滤是针对搜索的结果进行过滤,过滤器主要判断的是文档是否匹配,不去计算和判断文档的匹配度得分所以过滤器性能比查询要高,且方便缓存,推荐尽量使用过滤 器去实现查询或者过滤器和查询共同使用。
GET sku/_search
{
"query": {
"bool": {
"filter": [
{"match":{"brandName":"小米"}}
]
}
}
} #分组查询 一个结果集
#示例:按分组名称聚合查询,统计每个分组的数量
GET sku/_search
{
"size":0,
"aggs": {
"sku_category": {
"terms": {
"field": "categoryName"
}
}
}
}
#分组 多个结果集
# 按照 分类查询统计 和按照品牌查询统计
#"size":0, 不显示 "hits" : [] 里面的数据
GET sku/_search
{
"size":0,
"aggs": {
"sku_category": {
"terms": {
"field": "categoryName"
}
},
"sku_brand按照品牌查询分组": {
"terms": {
"field": "brandName"
}
}
}
}

全文检索ElasticSearch的简单使用笔记的更多相关文章

  1. Elasticsearch入门学习重点笔记

    原文:Elasticsearch入门学习重点笔记 必记知识点 Elasticsearch可以接近实时的搜索和存储大量数据.Elasticsearch是一个近实时的搜索平台.这意味着当你导入一个文档并把 ...

  2. 3.2 配置构建Angular应用——简单的笔记存储应用

    本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...

  3. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  4. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  5. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  6. 3.2.1 配置构建Angular应用——简单的笔记存储应用——编辑功能

    本节我们会接着上节课的内容,继续来完成使用Angular来创建简单的笔记存储应用,上一节课,我们完成了笔记的展示功能,本节课,我们来完成编辑功能. 编辑主要是两个功能:编辑现有的笔记以及创建新笔记.首 ...

  7. 3.2.1 配置构建Angular应用——简单的笔记存储应用——展示功能

    本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...

  8. Elasticsearch集群知识笔记

    Elasticsearch集群知识笔记 Elasticsearch内部提供了一个rest接口用于查看集群内部的健康状况: curl -XGET http://localhost:9200/_clust ...

  9. Springboot整合ElasticSearch进行简单的测试及用Kibana进行查看

    一.前言 搜索引擎还是在电商项目.百度.还有技术博客中广泛应用,使用最多的还是ElasticSearch,Solr在大数据量下检索性能不如ElasticSearch.今天和大家一起搭建一下,小编是看完 ...

随机推荐

  1. Spring framework体系架构

    Spring3.x 图中将spring分为5个部分:core.aop.data access.web.test,图中每个圆角矩形都对应一个jar,如果在maven中配置,所有这些jar的"g ...

  2. php 设计模式之命令模式

    命令模式 将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化.对请求排队或记录请求日志,以及支持撤销的操作. 命令模式以松散耦合主题为基础,发送消息.命令和请求,或通过一组处理程序发送 ...

  3. python学习笔记-字符串的拼接

    1.百分号方式拼接 %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key flags          可选,可供 ...

  4. Unity中的事件监听

    Unity3D的uGUI系统的将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值.如下图所示: 先以PointerClick为例.这个是用于某点点击事件.其他事件都可 ...

  5. java 里没有友元函数怎么办

    我希望一个service可以访问某个对象中的私有对象,但是不希望这个私有对象暴露给其它的service. public xxxServiceImpl{ public void do(){ xxxent ...

  6. vim编辑模式下黑色背景,下来过程中出现白条的问题

    问题描述,原本是黑色背景,但是下拉过程中没有文字的地方会变成白色,非常影响美观,搞了好久现在中与改好了.问题如图: 打开-/.vimrc 文件,在如图所示位置加上62-64行代码即可.root用户的添 ...

  7. Spring AOP中使用args表达式访问目标方法的参数

    Spring AOP 的使用过程理解 首先,aop的使用场景介绍: 1.处理一些通用的非功能性的需求,不影响业务流程,比如说打印日志.性能统计.推送消息等: 2.aop无法拦截static.final ...

  8. mysql安装(centos7)

    1.下载rpm wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2.安装rpm yum ...

  9. gMIS吉密斯十年执念:Lower Costs较低成本Better Productivity较高效率

    Hello 2020! 元旦快乐!今起揭开21世纪20年代的篇章. 1. gMIS吉密斯十周年 2010-2020,十年转眼已成历史,gMIS吉密斯——通用管理信息系统(general Managem ...

  10. linux版本neo4j安装配置教程

    https://blog.csdn.net/weixin_44293236/article/details/89467489