使用Sense操作ElasticSearch CRUD

安装完成之后,我们该开始学习关于ElasticSearch最基本的CURD操作了。

ElasticSearch作为一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,其接口也是RESTful 风格。文档储存类型也是json格式。那么我们就可以像操作webapi一样简单的操作ElasticSearch进行CRUD了。

在Linux服务器上我们可以通过curl命令操作。但是作为window用户,我们大都不太熟悉curl命令。下面我将介绍一款基于chrome的插件Sense。通过Sense扩展插件我们可以很方便的操作ElasticSearch。

1、安装Sense

2、使用Sense CRUD

 URL的格式:

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

 其中index、type是必须提供的。

 id是一条数据(文档)的唯一标识,如果重复 则覆盖已经存在的。

 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

posted @ 2016-03-08 14:25  —八戒—  阅读(11323)  评论(0编辑  收藏  举报