es.search(index=
"my_index"
,doc_type=
"test_type"
)# 或者
body =}}
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
# term
body =}}
# 查詢name="python"的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
# terms
body =}}
# 搜尋出name="python"或name="android"的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
# match:匹配name包含python關鍵字的資料
body =}}
# 查詢name包含python關鍵字的資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
# multi_match:在name和addr裡匹配包含深圳關鍵字的資料
body =}}
# 查詢name和addr包含"深圳"關鍵字的資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
body =}}
# 搜尋出id為1或2d的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
bool有3類查詢關係,must(都滿足),should(滿足其中之一),must_not(都不滿足)
body =},
}]}}
}# 獲取name="python"並且age=18的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
body =
}"from":2
# 從第二條資料開始
"size":4
# 獲取4條資料
}# 從第2條資料開始,獲取4條資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
body =}}
}# 查詢18<=age<=30的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
body =}}
# 查詢字首為"趙"的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
body =}}
# 查詢name以id為字尾的所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
body =
}"sort":}
}
響應過濾
# 只需要獲取_id資料,多個條件用逗號隔開
es.search(index=
"my_index"
,doc_type=
"test_type"
,filter_path=
["hits.hits._id"])
# 獲取所有資料
es.search(index=
"my_index"
,doc_type=
"test_type"
,filter_path=
["hits.hits._*"
])
執行查詢並獲取該查詢的匹配數
# 獲取資料量
es.count(index=
"my_index"
,doc_type=
"test_type"
)
獲取最小值body =},
"aggs":}
}}# 搜尋所有資料,並獲取age最小的值
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
獲取最大值body =},
"aggs":}
}}# 搜尋所有資料,並獲取age最大的值
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
獲取和body =},
"aggs":}
}}# 搜尋所有資料,並獲取所有age的和
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
獲取平均值body =},
"aggs":}
}}# 搜尋所有資料,獲取所有age的平均值
es.search(index=
"my_index"
,doc_type=
"test_type"
,body=body)
ElasticSearch 翻頁查詢
相對於ealsticsearch的search api,翻頁查詢可以將查詢結果集分頁返回,而不是將所有的結果放在乙個page返回。如果查詢的結果集包含大量的資料,就可以用到翻頁查詢 scroll api,比如有200k條資料,可以將它們分成20次請求,每次只返回10k條查詢結果.有點類似於資料庫裡面...
ElasticSearch 查詢語法
author title publish date form指定從 返回 size指定返回數量 from 1 size 1 sort group by publish date 特定字段查詢所指特定值 query context 會根據匹配程度生成不同的匹配分數 全文本查詢針對文字型別 字段級別查詢...
elasticsearch高亮查詢
pageinfo elasticsearchtemplate.queryforpage query,article.class 帶條件的分頁查詢 test public void testselectpagebyid 建立querybuilder查詢條件 querybuilder querybuil...