DSL(Domain Specific Language)
Query String
- 查询所有
GET /Index/_search
- 带参数
GET /index/_search?q=name:xiaomi
- 分页
GET /Index/_search?from=0&size=2&sort=price:asc
- 精确匹配 exact value 在特定字段进行匹配
GET /Index/_search?q=date:2022-10-01
- _all匹配 在所有字段中匹配
GET /Index/_search?q=2022-10-01
全文检索 fulltext search
GET /Index/_search
{
"query": {
"macth":{
"field": "TEXT"
}
}
}
个人理解 类似于select * from index where field like '%TEXT%'
match查询中的TEXT 会被分析器 解析为多个词
GET /Index/_search
{
"query": {
"match_all":{}
}
}
个人理解 类似于 select * from Index where 1=1
GET /Index/_search
{
"query":{
"multi_match": {
"query":"TEXT",
"fields" : ["fileld1","field2"]
}
}
}
GET /Index/_search
{
"query": {
"macth_phrase":{
"field": "TEXT"
}
}
}
match_phrase查询中的TEXT 表示应包含TEXT中的所有词项并且顺序正确
精准匹配 exact match
- term: 匹配和搜索词项完全相同的结果
- term的搜索不会分词
GET /Index/_search
{
"query": {
"term":{
"field": "TEXT"
}
}
}
GET /Index/_search
{
"query": {
"terms":{
"fields": ["field1","field2"]
}
}
}
GET /Index/_search
{
"query": {
"range":{
"field":{
"lte":20,
"get":10
}
}
}
}