elasticsearch 簡要指南-安裝及簡單測試
主要拿elasticsearch做全文檢索,elasticsearch所存儲的資料都是持久化到硬碟的。
安裝前準備
- JDK1.7
- 建議下載下傳rtf中文分詞版,https://github.com/medcl/elasticsearch-rtf
- 建議下載下傳Google應用–sense作為調試工具,應用圖示為一個綠樹,可以友善的使用dsl文法
安裝
- 運作bin目錄的elasticsearch.bat
- 通路成功
需要了解的
簡單測試
- 插入資料
PUT /megacorp/employee/
{
"first_name" : "吳",
"last_name" : "寒冷",
"age" : ,
"about" : "我喜歡打籃球",
"interests": [ "籃球", "吉他" ]
}
PUT /megacorp/employee/
{
"first_name" : "吳",
"last_name" : "甜甜",
"age" : ,
"about" : "我喜歡遊泳,籃球",
"interests": [ "英語" ]
}
PUT /megacorp/employee/
{
"first_name" : "韓",
"last_name" : "萌甜",
"age" : ,
"about": "我喜歡吉他,足球s",
"interests": [ "旅遊" ]
}
- 檢索
檢索
GET /megacorp/employee/
搜尋全部員工
GET /megacorp/employee/_search
搜尋具體條件
GET /megacorp/employee/_search
{
"query" : {
"match" : {
"last_name" : "甜"
}
}
}
- 進階檢索等
GET /megacorp/employee/_search
{
"query" : {
"filtered" : {
"filter" : {
"range" : {
"age" : { "gt" : } <>
}
},
"query" : {
"match" : {
"last_name" : "smith" <>
}
}
}
}
}
<> 這部分查詢屬于區間過濾器(range filter),它用于查找所有年齡大于歲的資料——gt為"greater than"的縮寫。
<> 這部分查詢與之前的match語句(query)一緻。
全文搜尋
GET /megacorp/employee/_search
{
"query" : {
"match" : {
"about" : "籃球"
}
}
}
GET /megacorp/employee/_search
{
"query" : {
"match" : {
"about" : " 我 遊泳"
}
}
}
短語搜尋
例如我們想要查詢同時包含"喜歡"和"吉他"
GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : " 喜歡 吉他"
}
}
}
高亮
GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : "喜歡 吉他"
}
},
"highlight": {
"fields" : {
"about" : {}
}
}
}
- 可以在sense中測試相關代碼
下一篇是elasticsearch java api相關,使用java用戶端來操作elasticsearch