本系列目錄請看這裏 https://blog.csdn.net/Michel4Liu/article/details/81711892
本篇主要是感受一下es的操作,例子和大部分內容來源於官網,可以利用一些http提交工具。
1、curl linux的組件,可以用但是手寫東西太多比較麻煩些。
2、火狐瀏覽器的RESTClient插件,難度比curl小,可以點選很多東西。 本篇主要講此工具和es交互
3、谷歌瀏覽器的Sense插件(官方演示也用這個)目前 0.9.0版本(安裝鏈接),操作也非常簡單,但是不支持ES6.X版本了,主要是json提交數據時需要加Content-Type: application/json。
國內有人已經修改了此工具,https://blog.csdn.net/xieshanwu/article/details/78667881 想用sense的可以嘗試一下,我沒測試。
一、安裝RESTClient插件
打開網址安裝 https://addons.mozilla.org/zh-CN/firefox/addon/restclient/
二、使用RESTClient 實操 es,例子來源於官網,我只是轉成了 RESTClient 操作而已
1、配置http頭字段,自定義一個頭字段Content-Type: application/json
2、利用RESTClient 新增一條數據進入es
選擇PUT 表示新增,輸入url :http://ES主機地址:9200/megacorp/employee/1 ,設置頭字段,然後附帶json發送
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
注意,路徑 /megacorp/employee/1 包含了三部分的信息:
megacorp: 索引名稱 (有文章說可以理解爲數據庫)
employee: 類型名稱 (有文章說可以理解爲表)
1: 特定僱員的ID (有文章說可以理解爲唯一標識)
上面就新建一個人員基本數據,我們可以以此放入更多的同類型數據。相同類型結構需要一致。示例數據填入更多數據 下面演示搜索。
3、
- 按照唯一標識搜索
- 搜索全部數據
- 按條件搜索:檢索last_name=Smith
- 使用表達式搜索,json傳搜索條件,工具get不會傳正文json的,但是curl支持get傳data。所以此處查詢改成post傳參。
- 複雜的搜索:搜索last_name=Smith並且年齡大於 30的
這部分是一個 range 過濾器 , 它能找到年齡大於 30 的文檔,其中 gt 表示_大於(_great than) - 全文搜索,之前的搜索都比較號理解類似於數據庫查詢,下面這個搜索是數據庫的短板。搜索引擎的特點相關性檢索。
搜索下所有喜歡攀巖(rock climbing)
第一個結果不難理解,包含關鍵字,第二個結果只是包含部分關鍵字,檢索的相關性分數也低於第一個結果。
更詳細解釋或更復雜查詢請查看官方文檔
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_indexing_employee_documents.html