elk之restful api 搜尋方式

2021-08-19 06:56:27 字數 2244 閱讀 3213

一共6種:

1.   query string serch

2.   query dsl

3.   query filter

4.   full-text search

5.   phrase search

6.   highlight search

一,query stringsearch:

概念:所有的search查詢都是在http請求後面跟上query string來構建的。

缺點:對複雜的查詢語句很難構建。

1.   get school3/student2/_search  //查詢所有的資料。

返回資料結構名詞:

took:返回資料毫秒數。

timed_ou:是否超時。

_shards:5個分片,相當於資料被拆成了5份,分別在每個分片上,當我們進行搜尋時,會去這5個分片上搜尋,或者去它們對應的replica上搜尋。

hits.total:返回的document總條數。

hits.max_score:對於 乙個serch的匹配度。

hits.hits:返回的document的詳細資料。

,

"hits": },}

] }

}

2.   getschool3/student2/_search?sort=age:desc

查詢所有資訊以age欄位排序。

3.   get school3/student2/_search?q=age:25

年齡=25的學生資料。

二,query dsl:

查詢引數放在http body裡面,可以用json格式來建立,能構造複雜的查詢語法。

1.   查詢所有:

get school3/student2/_search

} }

2.   條件查詢:

name包含夏文傑的學生,並且按照age降序排序。

get school3/student2/_search

},"sort":

}

3.分頁查詢:

先查詢全部,再擷取想要部分的資料。

和sql的limit一樣。

get school3/student2/_search

},"from":2,

"size": 5

}

4.只查詢某些字段:

getschool3/student2/_search

只查詢name和age欄位

},"_source": ["name","age"]

}

三,query  filter

對查詢進行過濾:

1.   get school3/student2/_search

查詢名字包含夏文傑的資料而且年齡大於23的資料。

bool:表示有多個條件查詢。

},"filter":}}

}}

}

四,全文檢索。

1.   get school3/student2/_search

匹配包含夏文的或者包含 夏文傑,或者包含夏文 夏文傑的資料,匹配度最高的排在最前面,根據score。因為每次匹配都會列出對應的id,如果去匹配最多的,則會排在前面。

}}

4.phrase search

必須和輸入的字串包含一摸一樣關鍵字才能被搜尋出來。

get school3/student2/_search

查詢必須包含夏文傑3的資料

}}

六,highlight search

get school3/student2/_search

查詢name包含夏文傑的資料,並把索引的資料顯示為高亮。

},"highlight": }}

}

結果:

,

"hits": ,

"highlight": },,

"highlight": }]

}}

除了返回的結果,還加了highlight,返回的html格式的資料,顯示在網頁上就是標紅。

(一)ELK系列之ELK介紹

elk介紹 elk簡介 隨著業務的不斷擴大,伺服器的不斷增加,各種服務的不斷增加,相應的日誌量也大量增加,訪問日誌 應用日誌 錯誤日誌種類繁多。從兩個角度進行分析 1 開發人員的角度來說,還需要去到伺服器上檢視繁多的日誌,無法高效的定位問題所在,所以並不方便 2 運營人員的角度來說,他們也需要獲取一...

RESTful 架構之RESTful API詳解

rest全稱是representational state transfer,中文意思是表述 編者注 通常譯為表徵 性狀態轉移。它首次出現在2000年roy fielding的博士 中,roy fielding是http規範的主要編寫者之一。他在 中提到 我這篇文章的寫作目的,就是想在符合架構原理的...

elk 搜尋 語法 ELK之es常用查詢語句

elasticsearch定義了兩種查詢方式 一.索引 index type,document相關語句 1,列出所有索引狀態 get cat indices?v 可以使用kibana的dev tools health status index uuid pri rep docs.count docs...