es查询排序的写法

sort字段指定排序,倒序:"sort": { "tftxtime": { "order": "desc" }}
查询条件格式如下:

{
	"query": {
		"bool": {
			"must": [],
			"must_not": [{
					"term": {
						"flow_yh_yh_location": ""
					}
				},
				{
					"term": {
						"routemcc": "1111"
					}
				},
				{
					"term": {
						"routemcc": "2222"
					}
				}
			],
			"should": [{
				"match_all": {}
			}]
		}
	},
	"from": 0,
	"size": 10,
	"sort": {
		"tftxtime": {
			"order": "desc"
		}
	},
	"aggs": {}
}

json压缩后:

{"query":{"bool":{"must":[],"must_not":[{"term":{"flow_yh_yh_location":""}},{"term":{"routemcc":"1111"}},{"term":{"routemcc":"2222"}}],"should":[{"match_all":{}}]}},"from":0,"size":10,"sort":{"tftxtime":{"order":"desc"}},"aggs":{}}
### 如何使用POST方法查询Elasticsearch地址 在Elasticsearch中,可以通过`POST`请求来发送查询操作。通常情况下,这种查询会针对特定的索引或者文档类型进行。以下是关于如何构建并执行基于`POST`方法的查询的具体说明。 #### 构建基本查询结构 当使用`POST`方法向Elasticsearch发起查询时,需要指定目标索引以及具体的查询体。例如: ```json POST /<target_index>/_search { "query": { "match_all": {} } } ``` 这里的`<target_index>`代表你要查询的目标索引名称[^1]。如果希望返回该索引下的所有数据,则可以采用`match_all`作为查询条件。 #### 高级查询示例 除了简单的全量匹配外,还可以利用更复杂的查询逻辑满足实际业务需求。下面列举了几种常见的场景及其对应的JSON格式写法。 ##### 单字段文本检索 (Match Query) 如果你想要在一个具体字段内查找含有某些关键词的内容,可运用如下模板: ```json POST /forum/article/_search { "query": { "match": { "title": "java elasticsearch" } } } ``` 此命令将在名为`forum`的数据库中的`article`集合里寻找标题(title)部分包含"java"和(elastic)"search"的文章记录。 ##### 多字段联合搜索 (Multi-Match Query) 有时可能需要跨多个属性同时开展搜寻工作,在这个时候就可以借助于multi-match query达成目的: ```json POST /index/_search { "query": { "multi_match": { "query": "要搜索的文本", "fields": ["字段1", "字段2"] } } } ``` 这段脚本的作用是从指定索引(index)里面挑选那些既符合'字段1',又或者是'字段2'等于给定字符串的对象出来显示给我们看[^2]. ##### 精确短语定位 (Match_Phrase Query) 为了找到完全一致的关键字组合而非单独词语的情况之下,应该选用phrase形式来进行精准定位: ```json POST /index/_search { "query": { "match_phrase": { "field_name": { "query": "要搜索的短语" } } } } ``` 这里定义了一个新的参数叫做field_name用来指代待检验的数据列名;而紧随其后的query则存储着我们期待发现的确切表述串[^2]. #### 结合布尔运算符增强灵活性(Boolean Queries with Must/Should/Must Not Clauses) 很多时候单一维度不足以描述清楚我们的筛选标准,这时候就需要引入boolean queries的概念了——它允许我们将若干子句按照一定规则结合起来形成最终表达式。比如下面的例子展示了怎样设置两个必要条件(name="yunxiao"&state=1): ```json POST /your_index/_search { "query": { "bool": { "must": [ { "match": { "name.keyword": "yunxiao" }}, { "match": { "state": 1 }} ] } } } ``` 在这个例子当中,“must”关键字表明只有当所有的内部项都被满足的时候才会被纳入结果集中去展示[^4]. ### 注意事项 尽管以上介绍了一些常用的post查询模式,但在实践过程中还需要考虑到诸如分页处理(pagination via from&size), 排序(ordering results by specific criteria),甚至是聚合分析(aggregations over large datasets)等方面的知识点才能更好地驾驭整个系统所提供的强大能力[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值