1 前言

我们先通过阅读官方文档,了解一下什么是 Query DSL 。

1.1 Query DSL

Elasticsearch provides a full Query DSL (Domain Specific Language) based on JSON to define queries.

DSL是啥? 由Elasticsearch提供的一套完整的JSON格式的查询语句。

Think of the Query DSL as an AST (Abstract Syntax Tree) of queries, consisting of two types of clauses:Leaf query clauses
Leaf query clauses look for a particular value in a particular field, such as the match, term or range queries. These queries can be used by themselves.Compound query clauses
Compound query clauses wrap other leaf or compound queries and are used to combine multiple queries in a logical fashion (such as the bool or dis_max query), or to alter their behaviour (such as the constant_score query).

两种查询类型:DSL和AST。 一种是根据查询关键字进行查询。 另一种就是符合查询。

Query clauses behave differently depending on whether they are used in query context or filter context.

由两种查询行为: 一种是你告诉我,你有多匹配。 另一种,通过筛选,剔除不满足条件的。

Allow expensive queries
Certain types of queries will generally execute slowly due to the way they are implemented, which can affect the stability of the cluster. Those queries can be categorised as follows: - Queries that need to do linear scans to identify matches: - script queries - Queries that have a high up-front cost: - fuzzy queries - regexp queries - prefix queries without index_prefixes - wildcard queries - range queries>> on <<text,text](https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-range-query.html) and [keyword](https://www.elastic.co/guide/en/elasticsearch/reference/master/keyword.html) fields - [Joining queries](https://www.elastic.co/guide/en/elasticsearch/reference/master/joining-queries.html) - Queries on [deprecated geo shapes](https://www.elastic.co/guide/en/elasticsearch/reference/master/geo-shape.html#prefix-trees) - Queries that may have a high per-document cost: - [script score queries](https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-script-score-query.html) - [percolate queries`

根据行为的不同,查询速度也会有不同,而这些查询行为是非常缓慢的,可能还会影响集群的稳定性。

The execution of such queries can be prevented by setting the value of the search.allow_expensive_queries setting to false (defaults to true).

既然有这些问题,Elasticsearch也提供优化办法,就是禁用这些查询行为,默认是开启的。

1.2 官方文档

官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/master/index.html 中文文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

1.3 Elasticsearch-head

1.3.1 概览界面

1.3.2 索引界面

1.3.3 数据浏览界面

1.3.4 基本查询界面

1.3.5 复合查询界面

1.4 测试介绍

1.4.1 接口地址

http://localhost:9200/spring-boot-elasticsearch-sample-phone/_search

1.4.2 提交方法

POST

1.4.3参数格式

JSON

1.4.4 Content-Type

application/json; charset=UTF-8

1.4.5 测试工具

1.4.6 测试索引

https://github.com/fengwenyi/spring-boot-elasticsearch-sample

1.4.7 测试数据

手机信息数据源,共 1253670 条数据,是从京东抓取的,耗时一天 点击下载:phone-info.json

2 基础需求

2.1 排序

{"query": {"match_all": {}},"sort": {"createTimeStamp": {"order": "desc"}}
}

响应示例片段

{"took": 7,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": null,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "RU8FM3MB3aBfAxkrRLZS","_score": null,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "Redmi 红米7A 小米手机 老人机 磨砂黑 3+32G","ad": "【顺丰快递】【假一赔十】今日下单可送精美礼品","price": 619,"imgUrl": "//img10.360buyimg.com/n7/jfs/t1/99921/22/11777/109099/5e3a8ec6E1af36352/a32b3017b2429c62.jpg","memory": "3GB运存","storage": "32GB","screen": "5.45英寸","createTimeStamp": 1594288850000,"createTimeString": "2020-07-09 18:00:50,000"},"sort": [1594288850000]}]}
}

2.1.1 升序

asc 或者 ASC

2.1.2 降序

desc 或者 DESC

2.2 分页

{"query": {"match_all": {}},"from": 1,"size": 1
}

响应示例

{"took": 1,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 1.0,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "7j1PL3MB3aBfAxkrf0nz","_score": 1.0,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "荣耀Play3 6.39英寸魅眼全视屏 4000mAh大电池 真4800万AI三摄 畅玩全网通 幻夜黑 全网通6G+64G","ad": "荣耀Play3 6.39英寸魅眼全视屏 4000mAh大电池 真4800万AI三摄 畅玩全网通 幻夜黑 全网通6G+64G","price": 999.0,"imgUrl": "//img13.360buyimg.com/n7/jfs/t1/126334/20/1159/208111/5eba565cE6065f0bc/4184f6b681990d1d.png","memory": "6GB运存","storage": "64GB","screen": "6.39 英寸","createTimeStamp": 1594226606065,"createTimeString": "2020-07-09 00:43:26,065"}}]}
}

2.2.1 from

从第几个开始查询,最开始是0

2.2.2 size

要查几个结果

3 搜索关键字

3.1 match_all

搜索的分值都是1.0

"max_score": 1.0

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

响应示例片段

{"took": 3,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 1,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "8z1PL3MB3aBfAxkrq0l2","_score": 1,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "飞利浦E212A 翻盖按键超长待机 移动版双卡双待老人手机 学生备用功能机 飞利浦手机 深锖色(深蓝色)","ad": "咨询客服-领取优惠-下单立省-现货速发,15天价保,买贵补差价","price": 268,"imgUrl": "//img10.360buyimg.com/n7/jfs/t1/24002/31/1438/337790/5c120bbeE6b9e6e12/befe00624e9a62a2.jpg","memory": "2GB以下运存","storage": "8GB以下","screen": "2.8英寸","createTimeStamp": 1594226617204,"createTimeString": "2020-07-09 00:43:37,204"}}]}
}

3.2 match_none

{"query": {"match_none": {}}
}

响应示例

{"took": 2,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 0,"relation": "eq"},"max_score": null,"hits": []}
}

3.3 match

指定字段,根据字段的关键字进行搜索

{"query": {"match": {"name": "小米"}}
}

响应示例片段

{"took": 20,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 6.0416183,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "sjwvL3MB3aBfAxkrLKVH","_score": 6.0416183,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "小米(MI) 小米Max3 手机 黑色(现货) 全网通6GB+128GB","ad": "【京东物流、现货急速发】送:本店质保一年+运费险小米Play到手价1158","price": 1599,"imgUrl": "//img12.360buyimg.com/n7/jfs/t1/105432/6/3249/74410/5dde4fd1E9c28713b/f2aea9f8bf1672a7.jpg","memory": "6GB运存","storage": "128GB","screen": "6.9英寸","createTimeStamp": 1594224487494,"createTimeString": "2020-07-09 00:08:07,494"}}]}
}

3.4 query_string

全文搜索

{"query": {"query_string": {"query": "小米"}}
}

响应示例片段

{"took": 43,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 11.336194,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "mTwuL3MB3aBfAxkr3qO_","_score": 11.336194,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "小米9 Pro 5G 骁龙855Plus 30W无线闪充 8GB+256GB 钛银黑 双卡全网通 全面屏拍照智能新品游戏手机","ad": "小米,小米手机,小米9pro5g自营,小米9pro,小米5g版,小米9品质好物选小米,京东选购更省钱","price": 3799,"imgUrl": "//img14.360buyimg.com/n7/jfs/t1/84314/2/11219/125539/5d89b1c9Ec781523e/cd769d2bd022de2a.jpg","memory": "8GB运存","storage": "256GB","screen": "6.39英寸","createTimeStamp": 1594224467645,"createTimeString": "2020-07-09 00:07:47,645"}}]}
}

3.4.1 and

{"query": {"query_string": {"query": "小米 and 红米"}}
}

响应示例片段

{"took": 50,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 21.420961,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "MjwtL3MB3aBfAxkrM5ii","_score": 21.420961,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "Redmi K30 Pro 5G先锋 骁龙865旗舰处理器 弹出式超光感全面屏 索尼6400万高清四摄 4700mAh长续航 33W闪充 8GB+128GB 天际蓝 游戏智能手机【优享】","ad": "王一博同款k30pro,小米,xiaomi,小米手机,红米,redmi,红米手机,redmik30pro,k30pro,小米k30pro,小米5G,红米5G新品","price": 3399,"imgUrl": "//img10.360buyimg.com/n7/jfs/t1/110595/15/10135/430668/5e79b705E69c06b1d/3d098ac4c305cf78.jpg","memory": "8GB运存","storage": "128GB","screen": "6.67英寸","createTimeStamp": 1594224358305,"createTimeString": "2020-07-09 00:05:58,305"}}]}
}

3.4.2 or

{"query": {"query_string": {"query": "小米 or 华为"}}
}

响应示例片段

{"took": 53,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 11.336194,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "mTwuL3MB3aBfAxkr3qO_","_score": 11.336194,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "小米9 Pro 5G 骁龙855Plus 30W无线闪充 8GB+256GB 钛银黑 双卡全网通 全面屏拍照智能新品游戏手机","ad": "小米,小米手机,小米9pro5g自营,小米9pro,小米5g版,小米9品质好物选小米,京东选购更省钱","price": 3799,"imgUrl": "//img14.360buyimg.com/n7/jfs/t1/84314/2/11219/125539/5d89b1c9Ec781523e/cd769d2bd022de2a.jpg","memory": "8GB运存","storage": "256GB","screen": "6.39英寸","createTimeStamp": 1594224467645,"createTimeString": "2020-07-09 00:07:47,645"}},{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "yDwuL3MB3aBfAxkrv6LX","_score": 11.323852,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "华为 Mate20 X 全网通智能手机 幻影银(6+128)","ad": "送:原装耳机+小钢炮蓝牙音箱+钢化膜+保护壳!华为p30、华为p30Pro华为mate20Pro","price": 3588,"imgUrl": "//img14.360buyimg.com/n7/jfs/t24652/329/2253404779/295465/198e1b99/5bc7f1ecNc23ec763.jpg","memory": "6GB运存","storage": "128GB","screen": "7.2英寸","createTimeStamp": 1594224459734,"createTimeString": "2020-07-09 00:07:39,734"}}]}
}

3.5 match_phrase

如果我们并不想那样进行分割,那我们换一个关键字 match_phrase

{"query": {"match_phrase": {"name": "小米红米"}}
}

响应示例片段

{"took": 42,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 1336,"relation": "eq"},"max_score": 10.831314,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "GjwvL3MB3aBfAxkr06nd","_score": 10.831314,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "小米红米Note8pro 手机 电光灰 8G+128G","ad": "小金刚品质保证,6400万超广角四摄,3D四曲面玻璃机身!","price": 1599,"imgUrl": "//img11.360buyimg.com/n7/jfs/t1/74883/5/13866/102693/5db3b32eEe950fcbd/62ae450227788db6.jpg","memory": "6GB运存","storage": "128GB","screen": "6.53英寸","createTimeStamp": 1594224530395,"createTimeString": "2020-07-09 00:08:50,395"}}]}
}

3.6 term

主要用于数字匹配。

举例:查询价格为1999的手机

{"query": {"term": {"price": 1999}}
}

响应示例片段

{"took": 15,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 1,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "_z1PL3MB3aBfAxkrrEkR","_score": 1,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "华为 nova5i手机 后置AI四摄 全面屏 前置2400万高清 全网通双卡双待4G 幻夜黑 全网通8+128","ad": "华为(HUAWEI) nova 5i","price": 1999,"imgUrl": "//img11.360buyimg.com/n7/jfs/t1/72502/14/4150/92863/5d2561a5Ed843b841/74dece57677911e3.jpg","storage": "128GB","createTimeStamp": 1594226617360,"createTimeString": "2020-07-09 00:43:37,360"}}]}
}

3.7 range

范围查询

举例:查询价格在1000-2000之间的手机

{"query": {"range": {"price": {"gte": 1000,"lte": 2000}}}
}

响应示例片段

{"took": 31,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 1,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "8j1PL3MB3aBfAxkrq0lp","_score": 1,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "小米 Redmi 红米K30 极速版 5G手机 深海微光 6GB+128GB","ad": "5G双模,120Hz流速屏,骁龙768G,前置挖孔双摄,索尼6400万后置四摄,30W快充!K30i新品","price": 1599,"imgUrl": "//img12.360buyimg.com/n7/jfs/t1/111819/3/6275/81916/5eba1a81Ee5a49643/cb43bd5ca9139ded.jpg","memory": "6GB运存","storage": "128GB","screen": "6.67英寸","createTimeStamp": 1594226617192,"createTimeString": "2020-07-09 00:43:37,192"}}]}
}

3.7.1 gt

大于

3.7.2 lt

小于

3.7.3 gte

大于等于

3.7.4 lte

小于等于

3.8 filter

在查询过程中,只判断文档是否满足条件,只有Yes或者No。

举例:查询价格为1999的手机

{"query": {"bool": {"filter": {"term": {"price": 1999}}}}
}

响应示例片段

{"took": 5,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 0.0,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "_z1PL3MB3aBfAxkrrEkR","_score": 0.0,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "华为 nova5i手机 后置AI四摄 全面屏 前置2400万高清 全网通双卡双待4G 幻夜黑 全网通8+128","ad": "华为(HUAWEI) nova 5i","price": 1999.0,"imgUrl": "//img11.360buyimg.com/n7/jfs/t1/72502/14/4150/92863/5d2561a5Ed843b841/74dece57677911e3.jpg","storage": "128GB","createTimeStamp": 1594226617360,"createTimeString": "2020-07-09 00:43:37,360"}}]}
}

3.9 multi_match

3.9.1 query

要查询的关键字

3.9.2 fileds

要查询的字段

3.9.3 type

best_fields

最佳字段。best_fields 类型是默认值,可以不指定。

most_fields

多数字段。多数字段匹配成功的得分之和,字段匹配越多,得分越高

cross_fields

cross_fields指的是一个唯一标识,跨域了多个字段,比如人的标识是名字,一个建筑的标识是地址,姓名跨域散落在多个field中,比如first_name和last_name,一个地址也可以散落在多个字段中,比如country,province,city中。

3.9.4 operator

operator使用and,是要返回两者同时匹配成功的结果。

3.9.5 tie_breaker

tie_breaker是将其它匹配的查询子句考虑进来也是可能的。通过指定tie_breaker参数将其它每个匹配的子句的分值乘以tie_breaker,以达到取得最佳匹配查询子句的_score。

示例:

{"query": {"multi_match": {"query": "一加","fields": ["name","ad"],"type": "cross_fields","operator": "and"}}
}

响应示例片段:

{"took": 16,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 83,"relation": "eq"},"max_score": 16.650242,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "OjwtL3MB3aBfAxkrDpfE","_score": 16.650242,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "一加 OnePlus 8 5G旗舰 90Hz高清柔性屏 骁龙865 180g轻薄手感 12GB+256GB 青空 超清超广角拍照游戏手机","ad": "一加 8","price": 4599.0,"imgUrl": "//img11.360buyimg.com/n7/jfs/t1/120981/4/3752/79431/5ed5aba3Ead96f265/23e94e5f9fa168d7.jpg","memory": "12GB运存","storage": "256GB","createTimeStamp": 1594224348866,"createTimeString": "2020-07-09 00:05:48,866"}}]}
}

要想了解更多,可以看官方文档:Elasticsearch权威指南:multi_match 查询

4 复合查询

4.1 constant_score

固定分数查询。支持filter查询,不支持match查询。

举例,查询分数为10的小米手机

{"query":{"constant_score":{"filter":{"match":{"name":"小米"}},"boost":10}}
}

响应示例片段

{"took": 4,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": 10,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "8j1PL3MB3aBfAxkrq0lp","_score": 10,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "小米 Redmi 红米K30 极速版 5G手机 深海微光 6GB+128GB","ad": "5G双模,120Hz流速屏,骁龙768G,前置挖孔双摄,索尼6400万后置四摄,30W快充!K30i新品","price": 1599,"imgUrl": "//img12.360buyimg.com/n7/jfs/t1/111819/3/6275/81916/5eba1a81Ee5a49643/cb43bd5ca9139ded.jpg","memory": "6GB运存","storage": "128GB","screen": "6.67英寸","createTimeStamp": 1594226617192,"createTimeString": "2020-07-09 00:43:37,192"}}]}
}

4.2 bool

主要与其他关键字组合使用。

4.3 should

or的关系

{"query": {"bool": {"should": [{"match": {"name": "咨询"}},{"match": {"name": "实惠"}}]}}
}

响应示例片段

{"took": 3,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 104,"relation": "eq"},"max_score": 49.01896,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "AjwuL3MB3aBfAxkroaJ_","_score": 49.01896,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "华为HUAWEI nova 6 SE [下单-200,享碎屏险服务,分期0首付,咨询享实惠]手机 绮境森林(咨询省20) 8GB+128GB","ad": "咨询客服享优惠,赠钢化膜+手机壳+碎屏险+数据线+挂绳nova65G火热优惠中,详情猛戳","price": 1999.0,"imgUrl": "//img12.360buyimg.com/n7/jfs/t1/87035/6/16675/136341/5e7df172Ec4e4ffd9/4944e5128f4cab11.jpg","memory": "8GB运存","storage": "128GB","screen": "6.4英寸","createTimeStamp": 1594224451966,"createTimeString": "2020-07-09 00:07:31,966"}}]}
}

4.4 must

and的关系。

示例

{"query": {"bool": {"must": [{"match": {"name": "咨询"}},{"match": {"name": "实惠"}}]}}
}

响应示例片段

{"took": 3,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 11,"relation": "eq"},"max_score": 49.01896,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "AjwuL3MB3aBfAxkroaJ_","_score": 49.01896,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "华为HUAWEI nova 6 SE [下单-200,享碎屏险服务,分期0首付,咨询享实惠]手机 绮境森林(咨询省20) 8GB+128GB","ad": "咨询客服享优惠,赠钢化膜+手机壳+碎屏险+数据线+挂绳nova65G火热优惠中,详情猛戳","price": 1999.0,"imgUrl": "//img12.360buyimg.com/n7/jfs/t1/87035/6/16675/136341/5e7df172Ec4e4ffd9/4944e5128f4cab11.jpg","memory": "8GB运存","storage": "128GB","screen": "6.4英寸","createTimeStamp": 1594224451966,"createTimeString": "2020-07-09 00:07:31,966"}}]}
}

4.5 must_not

{"query": {"bool": {"must_not": {"query_string": {"query": "小米 or 华为 or 苹果 or 荣耀 or 红米 or 手机 or vivo or 三星 or iPhone or 一加"}}}}
}

响应示例片段:

{"took": 268,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 11,"relation": "eq"},"max_score": 0.0,"hits": [{"_index": "spring-boot-elasticsearch-sample-phone","_type": "_doc","_id": "ZTwtL3MB3aBfAxkrFJcJ","_score": 0.0,"_source": {"_class": "com.fengwenyi.spring_boot_elasticsearch_sample.entity.PhoneEntity","name": "金立 Gionee K6 8+128GB 梦幻蓝 4350mAh大电池 6.2英寸水滴屏 微Q8开 全网通4G 双卡双待","ad": "【评价享好礼】金立K6,4350mAh大电池|6.2英寸水滴屏|8+128GB大内存|评价返E卡!金立K3低至699元!","price": 899.0,"imgUrl": "//img10.360buyimg.com/n7/jfs/t1/107655/18/18582/180279/5ec226c4Ebd488e23/7cbd62adba1590b4.jpg","memory": "8GB运存","storage": "128GB","screen": "6.2英寸","createTimeStamp": 1594224350216,"createTimeString": "2020-07-09 00:05:50,216"}}]}
}

Blog Link

Erwin Feng Blog:https://www.yuque.com/fengwenyi/pvaq8o 博客长期更新,感兴趣,就点点关注,支持一下吧!

spring elasticsearch 按条件删除_Elasticsearch系列之Query DSL相关推荐

  1. spring elasticsearch 按条件删除_SpringBoot2 高级案例(08):整合 ElasticSearch框架,实现高性能搜索引擎...

    一.安装和简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的, ...

  2. spring elasticsearch 按条件删除_实战:项目数据源转为Elasticsearch

    原本项目是基于MYSQL的,现因需求将其转换为MYSQL+Elasticsearch,MYSQL的ORM使用的是Spring Data Jpa,Mybatis的转换与其类似,有人看再更 先看原项目 原 ...

  3. elasticsearch系列四:搜索详解(搜索API、Query DSL)

    一.搜索API 1. 搜索API 端点地址 从索引tweet里面搜索字段user为kimchy的记录 GET /twitter/_search?q=user:kimchy 从索引tweet,user里 ...

  4. ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误

    ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误 摘要 我们喜欢在对结构化数据(如:日期和价格)做查询时,结果只返回那些能精确匹配的文档.但是,好的全文搜索不应该有这样的限制 ...

  5. ElasticSearch 2 (16) - 深入搜索系列之近似度匹配

    ElasticSearch 2 (16) - 深入搜索系列之近似度匹配 摘要 标准的全文搜索使用TF/IDF处理文档.文档里的每个字段或一袋子词.match 查询可以告诉我们哪个袋子里面包含我们搜索的 ...

  6. ElasticSearch 2 (37) - 信息聚合系列之内存与延时

    ElasticSearch 2 (37) - 信息聚合系列之内存与延时 摘要 控制内存使用与延时 版本 elasticsearch版本: elasticsearch-2.x 内容 Fielddata ...

  7. ElasticSearch 2 (27) - 信息聚合系列之故事开始

    ElasticSearch 2 (27) - 信息聚合系列之故事开始 摘要 到目前为止,本书都在着重介绍搜索.对于搜索,我们有查询条件以及与查找到与条件匹配的集合.这个过程就和如大海捞针一样. 对于聚 ...

  8. ElasticSearch 2 (34) - 信息聚合系列之多值排序

    ElasticSearch 2 (34) - 信息聚合系列之多值排序 摘要 多值桶(terms.histogram 和 date_histogram)动态生成很多桶,Elasticsearch 是如何 ...

  9. ElasticSearch 2 (25) - 语言处理系列之同义词

    ElasticSearch 2 (25) - 语言处理系列之同义词 摘要 词干提取有助于通过简化屈折词到它们词根的形式来扩展搜索的范围,而同义词是通过关联概念和想法来扩展搜索范围的.或许没有文档能与查 ...

最新文章

  1. 高通投资商汤,是因为手机刷脸市场吗?阿里巴巴再砸AI芯片,弄啥咧 | AI三分钟
  2. c语言编写二次方程求根程序,一元二次方程求解程序完整代码
  3. 华为服务器操作系统密码,服务器操作系统密码忘记
  4. python信息安全书籍_信息安全从业者书单推荐
  5. 覆写和重载 虚方法与抽象方法 (转)
  6. java读取excel模板并复制_POI复制Excel模板并填充数据
  7. 随机森林----评论情感分析系统
  8. 人人有用的零基础理财入门课(水湄物语)
  9. js解决键盘长按输入时会有停顿的问题
  10. 听歌识曲java_Android自定义View之继承扩展(仿网易云音乐听歌识曲)
  11. 搭配安卓手机领夹式麦克风的PD快充方案来了LDR6023C 分享给大家
  12. 青龙面板--京东试用申请
  13. 分数化成有限小数的方法_怎样把分数化成小数
  14. HomeAssistant和Node-Red
  15. Testlink解决大用例导入问题
  16. props传递对象_vue组件中使用props传递数据的实例详解
  17. 卡莱特led显示屏调试教程_|卡莱特LED显示屏校正软件(Calibration Pro)下载v3.5.0 官方版 - 欧普软件下载...
  18. 2022年版中国自动灭火系统产业运行分析与投资策略研究报告
  19. 如何正确分析你的客户?
  20. 【分享】10 个“疯狂”的 Python 项目创意

热门文章

  1. 生成对抗网络是什么?
  2. sklearn基于make_scorer函数构建自定义损失函数或者评估指标
  3. python和R数据类型查看、赋值、列表、for循环、函数用法对比示例
  4. android 拼图课程设计,Flash拼图游戏制作课程设计报告
  5. python colormap函数_python-使用由x,y位置定义的rgb值创建colormap
  6. Python踩坑指南(第二季)
  7. day04 JDBC java数据库连接
  8. 生物信息学常见数据格式 • fasta • fastq • gff/gtf 练习题
  9. java hashcode返回1_java – 为什么hashCode()在所有连续执行中为对象返回相同的值?...
  10. python凹多边形分割_使用Opencv python从Image中裁剪凹面多边形