ElasticSearch 簡單入門

簡介

ElasticSearch是一個開源的分佈式搜索引擎,具有高可靠性,支持很是多的企業級搜索用例。像Solr4同樣,是基於Lucene構建的。支持時間時間索引和全文檢索。官網:http://www.elasticsearch.orghtml

它對外提供一系列基於 JAVA 和 HTTP 的 API,用於索引、檢索、修改大多數配置。git

寫這篇博客的的主要緣由是ElasticSearch的網站只有一些簡單的介紹,質量不高,缺乏完整的教程。我費了好大勁才把它啓動起來,作了一些比hello world更復雜一些的工做。我但願經過分享個人一些經驗來幫助對ElasticSearch(很強大的哦)感興趣的人在初次使用它的時候可以節省些時間。學完這篇教程,你就掌握了它的基本操做——啓動、運行。我將從個人電腦上分享這個連接。github

如今開始體驗

  1. 假設你已經安裝了 Java;
  2. 下載ElasticSearch。而後,因爲關於在Linux與其餘非 Wdindows 系統環境裏操做它的談論有許多,這裏會更加關心 Windows 7 的桌面環境。請對應選擇安裝包裹。對 Windows - 一Zip文件 - 用戶可解壓縮到C:\elasticsearch-0.90.3. 牢記,這十分的不一樣於安裝Eclipse IDE。
  3. 因爲不熟悉curl跟cygwin,並且打算節省掌握時間(此多數在官網ElasticSearch.org應用的命令面對非 Windows平臺)。讀者能夠在 http://curl.haxx.se/download.htmlhttp://cygwin.com/install.html 安裝Curl和cygwin。

測試一下已經完成的工做:

  1. Windows 7 環境中,運行命令行,進入 cd C:\elasticsearch-0.90.3\bin 目錄。
  2. 這時運行 elasticsearch.bat
  3. 上面在本機啓動了一個ElasticSearch節點。 讀者會看到下面的記錄提示。(若是您機器上的狀況明顯不同,請讀者們不要憂愁,因那做者有些個Elastic Search的插件程序,並且我機器上的節點命名和其它會不一樣讀者機器的)
    請輸入圖片描述
  4. 如今在瀏覽器裏測試一下
    請輸入圖片描述
    請輸入圖片描述
    若是你獲得的status是200那它意味着全部的事情都ok啦...是否是很簡單?
    讓咱們看看JSON的每一個字段表明的含義:
    Ok:當爲true時,意味着請求成功。
    Status:發出請求後的HTTP的錯誤代碼。200表示一切正常。
    Name:咱們Elasticsearch實例的名字。在默認狀況下,它將從一個巨長的名字列表中隨機選擇一個。
    Version:這個對象有一個number字段,表明了當前運行的Elasticsearch版本號,和一個Snapshot_build字段,表明了你當前運行的版本是不是從源代碼構建而來。
    Tagline:包含了Elasticsearch的第一個tagline: "You Know, for Search."
  5. 如今讓咱們從http://mobz.github.io/elasticsearch-head/ 安裝ElasticSearch Head插件
    安裝方法很是簡單
    cd C:\elasticsearch-0.90.3\bin plugin -install mobz/elasticsearch-head
    上面的命令會把 elasticsearch-head插件裝到你的環境裏

教程樣例

咱們將要部署一個很是簡單的應用--在一個部門裏的僱員--這樣咱們能夠把注意力放在功能而不是氧立得複雜性上。總而言之,這篇博文是爲了幫助人們開始ElasticSearch入門。
1)如今打開你的cygwin窗口而且鍵入命令segmentfault

curl -XPUT 'http://localhost:9200/dept/employee/32' -d '{ "empname": "emp32"}'

dept是一個索引而且索引類型是僱員,此時咱們正在輸入這個索引類型的第31個id。
你應該能在cygwin的窗口看到這樣的信息:
請輸入圖片描述
讓咱們看一下這個輸出:瀏覽器

========================================================================
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    91  100    70  100    21    448    134 --:--:-- --:--:-- --:--:--   500{"ok":true,"_index":"dept","_type":"employee","_id":"31","_version":1}
========================================================================

和上面的命令同樣--讓咱們輸入更多的記錄:curl

curl -XPUT 'http://localhost:9200/dept/employee/1' -d '{ "empname": "emp1"}'
curl -XPUT 'http://localhost:9200/dept/employee/2' -d '{ "empname": "emp2"}'
...
...
curl -XPUT 'http://localhost:9200/dept/employee/30' -d '{ "empname": "emp30"}'

注意:你要記得增長索引計數器和大括號裏empname的值。
一旦這些工做都完成了--你爲ElasticSearch輸入了足夠多的數據,你就能夠開始使用head插件搜索你的數據了。elasticsearch

讓咱們試試吧!

在瀏覽器中輸入:
http://localhost:9200/_plugin/head/
你會看到這個:
請輸入圖片描述
這裏是有關簇使用狀況和不一樣索引信息的概況。咱們最近建立的索引在其中,顯示爲"dept"。
如今點擊Structured Query選項卡
請輸入圖片描述
在Search下來菜單中選擇"dept"並點擊"Search"按鈕。
這將顯示全部記錄。分佈式

搜索特定條目

讓咱們來搜索emp1,emp25和emp7。不斷點擊最右面的"+"來添加更多的搜索項,就像如圖顯示的那樣,以後點擊"Search"。確保最左邊的選項爲"should",其餘的選項也應該和圖中的保持一致。
請輸入圖片描述
如今你能夠繼續嘗試這個插件了,你能夠將其用到你的搜索項目中。
你能夠嘗試在個人桌面電腦上運行的該應用:
http://98.228.230.117:9200/_plugin/head/
若是有任何問題和意見請聯繫我。
但願這篇文章可讓你快速上手"ElasticSearch"——一個不錯的企業級開源搜索產品。測試


原文:Getting Started with ElasticSearch
轉載自:開源中國 - BoydWang, DrZ, enyo, sdrkyj網站

相關文章
相關標籤/搜索