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

  • 相关阅读:
    paip.erlang 文本文件读写操作attilax总结
    paip.python错误解决20
    paip.python错误解决8
    paip. sip module implements API v10.0 to v10.1 but the PyQt4.QtCore module requires API v9.2
    解读NoSQL数据库的四大家族
    paip.python错误解决9
    paip.python 执行shell 带空格命令行attilax总结
    paip.python错误解决15
    paip.python错误解决24
    paip.python优缺点attilax总结
  • 原文地址:https://www.cnblogs.com/qiyebao/p/5253933.html
Copyright © 2011-2022 走看看