Search API、URI Search
指定查询的索引
语法 | 范围 |
---|---|
/_search | 集群上所有的索引 |
/index1/_search | index1 |
/index1,index2/_search | index1和index2 |
/index* /_search | 以index开头的索引 |
通过URI query 实现搜索
-
q 指定查询语句,使用Query String Syntax
-
df 默认字段,不指定时,会对所有字段进行查询
-
Sort 排序 from和size 用于分页
-
Profile 可以查看查询时如何执行的
-
使用引号 phrase查询
GET /movies/_search?q=title:"Beautiful Mind"
{
"profile": "true"
}
- 不使用引号
GET /movies/_search?q=title:Beautiful Mind
{
"profile": "true"
}
- 分组,bool查询
GET /movies/_search?q=title:(Beautiful Mind)
{
"profile": "true"
}
Query
- 布尔操作
- AND / OR / NOT 或者 && / || / !
- 必须大写
- title:(matrix NOT reloaded)
- AND / OR / NOT 或者 && / || / !
- 分组
- +表示 must
- -表示 must_not
- title:(+matrix -reloaded)
- 范围查询
- 区间表示:[] 闭区间,{} 开区间
- year:{2019 TO 2018}
- year:[* TO 2018]
- 区间表示:[] 闭区间,{} 开区间
- 算数符号
- year:>2010
- year:(>2010 && <= 2018)
- year:(+>2010 +<= 2018)
- 通配符查询(通配符查询效率低,占用内存大,不建议使用,特别是放在最前面)
- ?代表1个字符,* 代表0 或多个字符
- title:mi?d
- title:be*
- ?代表1个字符,* 代表0 或多个字符
- 正则表达式
- title:[bt]oy
- 模糊匹配与近似查询
- title:befutifl~1
- title:“lord rings”~2