ES提供了一種輕量級的檢索方式來檢索文檔,和前幾篇介紹的json
形式查詢不同,他是采用query_string
形式檢索。下面通過實例來講解吧
GET /user/introduce/_search?q=name:lucy
在user
索引的introduce
類型中查詢name
值為lucy
的文檔
GET /_search?q=mary
這個簡單搜索返回包含 mary
的所有文檔,無論是key或者value只要包含mary就會返回
更復(fù)雜的查詢
下面的查詢針對tweents類型仙辟,并使用以下的條件:
-
name
字段中包含mary
或者john
-
date
值大于2014-09-10
-
_all
字段包含aggregations
或者geo
+name:(mary john) +date:>2014-09-10 +(aggregations geo)
這種 輕量 的查詢字符串搜索效果還是挺讓人驚喜的,很方便鳄梅。但是叠国,查詢字符串搜索允許任何用戶在索引的任意字段上執(zhí)行可能較慢且重量級的查詢,這可能會暴露隱私信息戴尸。所以就需要將query_string進(jìn)行urlencode加密粟焊,但是這回使得閱讀起來晦澀難懂。正因如此孙蒙,我們經(jīng)常在生產(chǎn)環(huán)境中更多地使用功能全面的 request body 查詢API项棠。