html tool

2018年11月5日星期一

ES轻量查询+复合查询


参考:https://www.elastic.co/guide/cn/elasticsearch/guide/current/search-lite.html

轻量 搜索编辑

有两种形式的 搜索 API:一种是 “轻量的” 查询字符串 版本,要求在查询字符串中传递所有的 参数,另一种是更完整的 请求体 版本,要求使用 JSON 格式和更丰富的查询表达式作为搜索语言。
查询字符串搜索非常适用于通过命令行做即席查询。例如,查询在 tweet 类型中 tweet 字段包含 elasticsearch 单词的所有文档:
GET /_all/tweet/_search?q=tweet:elasticsearch
下一个查询在 name 字段中包含 john 并且在 tweet 字段中包含 mary 的文档。实际的查询就是这样
+name:john +tweet:mary
[popexizhi:
这里有两个注意,
1)_search?q=+name:job 是一个,一定要有+;
2) _search?+name:john +tweet:mary 这里的第二个+,与前一个n直接一定要有空格,否则就是或的条件了


]

但是查询字符串参数所需要的 百分比编码 (译者注:URL编码)实际上更加难懂:
GET /_search?q=%2Bname%3Ajohn+%2Btweet%3Amary
+ 前缀表示必须与查询条件匹配。类似地, - 前缀表示一定不与查询条件匹配。没有 + 或者 - 的所有其他条件都是可选的——匹配的越多,文档就越相关。



没有评论:

发表评论