Elasticsearch的DSL操作命令可以通過發送HTTP請求來執行。以下是一些常見的DSL操作命令及其使用方法:
GET /index_name/_search
{
"query": {
"match_all": {}
}
}
GET /index_name/_search
{
"query": {
"match": {
"field_name": "query_string"
}
}
}
GET /index_name/_search
{
"_source": ["field_name1", "field_name2"],
"query": {
"match_all": {}
}
}
GET /index_name/_search
{
"from": 0,
"size": 10,
"query": {
"match_all": {}
}
}
這里的from參數表示從第幾條開始返回結果,size參數表示返回的結果數量。
GET /index_name/_search
{
"sort": [
{
"field_name": {
"order": "asc"
}
}
],
"query": {
"match_all": {}
}
}
可以通過sort參數指定要排序的字段和排序順序。
GET /index_name/_search
{
"size": 0,
"aggs": {
"agg_name": {
"aggregation_type": {
"field": "field_name"
}
}
}
}
可以通過aggs參數進行聚合查詢,agg_name為聚合結果的別名,aggregation_type為聚合類型(如sum、avg、max等)。
這些只是一些常見的DSL操作命令,Elasticsearch的DSL語法非常豐富,可以根據具體需求進行擴展。可以參考Elasticsearch官方文檔了解更多DSL操作命令及其用法。