ElasticSearch.net第二步-CRUD之Sense

来源:互联网 发布:读卡器输出格式软件 编辑:程序博客网 时间:2024/06/05 09:27

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

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

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

安装Sense如图:

 

CRUD

URL的格式:

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

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

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

index、type将信息进行分层,利于管理。index可以理解为数据库,type理解为数据表。

 

添加

 

复制代码
PUT /db_news/news/1{  "title":"第一条新闻",  "author":"王军华",  "content":"根据中的的最新调查显示"}PUT /db_news/person/5{  "name":"jack",  "age":53,  "intro":"jack但是的是个乖孩子"}
复制代码

Sense操作如图:(PUT需要顶个写,json字段名称需要加引号)

 

修改/覆盖

修改就是将id置为和存在的记录一致。

 

删除

DELETE /db_news/news/1

如图:

 

查询

查询所有库,所有表的文档

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

查询指定库指定表的一条文档

GET /db_news/person/2

如图:

 

 

 

在所有库所有表中查找某个字段等于某个值的文档

复制代码
POST /_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": 13     }  }}
复制代码

 

多条件并列条件查询

复制代码
POST /db_news/person/_search{  "query": {        "filtered": {                       "filter": {                "term": {                    "age": 13,                    "name":"tom"                                    }                            }                     }    }}
复制代码

 

详细CRUD命令请参考官方:

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

部分内容摘抄自:

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

原创粉丝点击