使用Sense操做ElasticSearch CRUD

安裝完成以後,咱們該開始學習關於ElasticSearch最基本的CURD操做了。html

ElasticSearch做爲一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,其接口也是RESTful 風格。文檔儲存類型也是json格式。那麼咱們就能夠像操做webapi同樣簡單的操做ElasticSearch進行CRUD了。web

在Linux服務器上咱們能夠經過curl命令操做。可是做爲window用戶,咱們大都不太熟悉curl命令。下面我將介紹一款基於chrome的插件Sense。經過Sense擴展插件咱們能夠很方便的操做ElasticSearch。chrome

一、安裝Sense數據庫

二、使用Sense CRUDjson

 URL的格式:api

 http://localhost:9200/<index>/<type>/[<id>]服務器

 其中index、type是必須提供的。curl

 id是一條數據(文檔)的惟一標識,若是重複 則覆蓋已經存在的。elasticsearch

 index、type將信息進行分層,利於管理。index能夠理解爲數據庫,type理解爲數據表。分佈式

a、添加

PUT /db_news/news/1 { "title":"第一條新聞", "author":"wangyunpeng", "content":"根據中的的最新調查顯示" }
PUT /db_news/person/5 { "name":"jack", "age":53, "intro":"jack可是的是個乖孩子" }

Sense操做如圖:(PUT須要頂頭寫,json字段名稱須要加引號)

 

 

 

b、修改/覆蓋

修改就是將id置爲和存在的記錄一致。

c、刪除

DELETE /db_news/news/1

d、查詢

查詢全部庫,全部表的文檔

GET /_search  
{ 
    "query": { "match_all": {} }   
}

查詢指定庫指定表的一條文檔

GET /db_news/person/5

在全部庫全部表中查找某個字段等於某個值的文檔

GET /_search
{ 
    "query": { 
        "query_string": { "query": "jack" }
    }
}

在指定庫指定表中查找某個字段等於某個值的文檔

POST /db_news/person/_search 
{
  "query": {
        "query_string": {
            "query": "jack" 
        }
    }
}

在指定庫指定表中查找指定個字段等於某個值的文檔

POST /db_news/person/_search
{
  "query": {
     "query_string": {
        "fields": ["age"],
        "query": 53
     }
  }
}

多條件並列條件查詢

POST /db_news/person/_search
{
  "query": {
        "filtered": {           
            "filter": {
                "term": {
                    "age": 53
                }                
            }
        }
    }
}

參考資料 

詳細CRUD命令請參考官方:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html 

部份內容摘抄自:

http://joelabrahamsson.com/elasticsearch-101/

轉:http://eggtwo.com/news/detail/145

相關文章
相關標籤/搜索