Elasticsearch: 查詢
阿新 • • 發佈:2022-03-20
# 指定 _id 查詢
get wares/_doc/1
# 查詢所有
get wares/_search
{
"query":{
"match_all": {}
}
}
# 指定 term
get wares/_search
{
"query":{
"term":{
"description":{
"value": "日本"
}
}
}
}
# 指定 range
get wares/_search
{
"query":{
"range":{
"id":{
"gte":0,
"lte":2
}
}
}
}
# 指定 prefix
get wares/_search
{
"query":{
"prefix":{
"title": {
"value": "小"
}
}
}
}
# 通配查詢 wildcard (* ?)
get wares/_search
{
"query":{
"wildcard": {
"title": {
"value": "小??"
}
}
}
}
# 多 _id 查詢 multiple _id
get wares/_search
{
"query":{
"ids":{
"values": [1,2,3]
}
}
}
# 模糊查詢 fuzzy search
get wares/_search
{
"query":{
"fuzzy":{
"title": "小浣毛髮"
}
}
}
keyword<3 no fuzzy
2<keyword<6 one fuzzy
keyword>5 two fuzzy
# 多條件組合 must == &&, should == ||, must_not == !
GET wares /_search
{
"query":{
"bool":{
"must":[
{
"ids":{
"values": [1,2,3]
}
},
{
"prefix":{
"title":{
"value": "小"
}
}
}
]
}
}
}
# multi_match ① 欄位型別分詞: 將查詢條件query分詞之後查詢 ② 欄位型別不分詞: query整體進行查詢
get wares/_search
{
"query":{
"multi_match": {
"query": "日",
"fields": ["description","title"]
}
}
}
# 預設欄位分詞查詢 query_string ① 查詢欄位分詞: 查詢條件分詞後查詢 ② 查詢欄位不分詞: 查詢條件不分詞查詢
get wares/_search
{
"query":{
"query_string": {
"default_field": "description",
"query": "小浣嗎"
}
}
}
# 高亮查詢 highlight
get wares/_search
{
"query":{
"term":{
"description": {
"value": "小"
}
}
},
"highlight":{
"pre_tags": ["<span style='color:red;'>"],
"post_tags": ["</span>"],
"require_field_match": false,
"fields": {
"*":{}
}
}
}
# 返回指定條數 size default=10
get wares/_search
{
"query":{
"match_all": {}
},
"size": 3
}
# Pagination from 分頁
get wares/_search
{
"query":{
"match_all": {}
},
"size": 3,
"from": 5
}
# 排序 sort
get wares/_search
{
"query":{
"match_all": {}
},
"sort":[
{
"price": {
"order": "desc"
}
}
]
}
# 返回指定欄位 _source
get wares/_search
{
"query":{
"match_all": {}
},
"sort":[
{
"price": {
"order": "desc"
}
}
],
"_source":["id","title"]
}