ElasticSearch輕量查詢

ES提供了一種輕量級的檢索方式來檢索文檔,和前幾篇介紹的json形式查詢不同,他是採用query_string形式檢索。下面通過實例來講解吧

GET /user/introduce/_search?q=name:lucy

user索引的introduce類型中查詢name值爲lucy的文檔

GET /_search?q=mary

這個簡單搜索返回包含 mary 的所有文檔,無論是key或者value只要包含mary就會返回

更復雜的查詢

下面的查詢針對tweents類型,並使用以下的條件:

  • name 字段中包含 mary 或者 john
  • date 值大於 2014-09-10
  • _all 字段包含 aggregations 或者 geo
+name:(mary john) +date:>2014-09-10 +(aggregations geo)

這種 輕量 的查詢字符串搜索效果還是挺讓人驚喜的,很方便。但是,查詢字符串搜索允許任何用戶在索引的任意字段上執行可能較慢且重量級的查詢,這可能會暴露隱私信息。所以就需要將query_string進行urlencode加密,但是這回使得閱讀起來晦澀難懂。正因如此,我們經常在生產環境中更多地使用功能全面的 request body 查詢API。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章