天天看點

elasticsearch 簡要指南-安裝及簡單測試elasticsearch 簡要指南-安裝及簡單測試

elasticsearch 簡要指南-安裝及簡單測試

主要拿elasticsearch做全文檢索,elasticsearch所存儲的資料都是持久化到硬碟的。

安裝前準備

  • JDK1.7
  • 建議下載下傳rtf中文分詞版,https://github.com/medcl/elasticsearch-rtf
  • 建議下載下傳Google應用–sense作為調試工具,應用圖示為一個綠樹,可以友善的使用dsl文法

安裝

  • 運作bin目錄的elasticsearch.bat
    elasticsearch 簡要指南-安裝及簡單測試elasticsearch 簡要指南-安裝及簡單測試
  • 通路成功
    elasticsearch 簡要指南-安裝及簡單測試elasticsearch 簡要指南-安裝及簡單測試

需要了解的

elasticsearch 簡要指南-安裝及簡單測試elasticsearch 簡要指南-安裝及簡單測試

簡單測試

  • 插入資料
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 簡要指南-安裝及簡單測試elasticsearch 簡要指南-安裝及簡單測試

下一篇是elasticsearch java api相關,使用java用戶端來操作elasticsearch