zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    django保存一个object的时候会发出信号
    转:django在生成数据库时常常遇到的问题
    转发一篇关于django模型详解的一篇好的博客
    OAutho2 请求响应格式
    在ASP.NET应用中执行后台任务
    编写一个简单的Web Server
    Xamarin改变移动开发的五个理由
    从AngularJS2谈到前台开发工程化
    Nancy启用跨站攻击防护(CSRF)
    Angular2
  • 原文地址:https://www.cnblogs.com/qiyebao/p/5253933.html
Copyright © 2011-2022 走看看