温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ElasticSearch笔记整理(四):ElasticSearch Rest与Settings、M

发布时间:2020-06-21 14:16:22 来源:网络 阅读:3604 作者:xpleaf 栏目:大数据

[toc]


ElasticSearch Rest

curl -XGET 'http://uplooking01:9200/bank/_search?q=*&pretty'

curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
    "query":{
        "match_all":{}
    }
}'
-------------------------------------------------------
在上面基础至少,只要2条结果:
curl -XGET 'http://uplooking01:9200/bank/_search?q=*&pretty&from=0&size=2'

curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
    "query":{
        "match_all":{}
    },
    from: 0,
    size: 2
}' 
--------------------------------------------------
排序
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
    "query":{
        "match_all":{}
    },
    from: 0,
    size: 2,
    "sort" : {"balance": {"order": "desc"}}
}' 
--------------------------------------------------
执行返回的字段
    curl -XGET 'http://uplooking01:9200/bank/_search?_source=age,balance&pretty&from=0&size=2'

post操作如何获取呢?
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
    "query":{
        "match_all":{}
    },
    from: 0,
    size: 2,
    "sort" : {"balance": {"order": "desc"}},
    "_source": ["balance", "age"]
}' 
----------------------------------------------------------
match:具体匹配操作
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
    "query":{
        "match":{"age": 20}
    },
    "from": 0,
    "size": 2,
    "sort" : {"balance": {"order": "desc"}},
    "_source": ["balance", "age"]
}' 
----------------------------------------------------------
bool
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
{
    "query":{
        "bool":{
            "should" :[ 
                {"match": {"age": 20}},
                {"match": {"gender": "F"}}
            ]
        }
    },
    "from": 0,
    "size": 2,
    "sort" : {"balance": {"order": "desc"}},
    "_source": ["balance", "age"]
}' 

{
    "query":{
        "bool":{
            "should" : {"match": {"age": 20}},
            "should" : {"match": {"gender": "F"}}
        }
    },
    "sort" : {"age": {"order": "asc"}},
    "_source": ["balance", "age", "gender"]
}
以上两种方式都可以
--------------------------------------------------------------------------
过滤查询
curl -XPOST 'http://uplooking01:9200/bank/_search?pretty' -d'
'{
    "query": {
        "filtered": {
            "query": {"match_all": {}},
            "filter": {
                "range":{
                    "balance": {
                        "gte":20000,
                        "lte":30000
                    }
                }
            }
        }
    }
}'
查询收入在20000到30000之间的数据

Settings、Mappings

Settings

   维护索引库默认配置,当然经常用来修改默认配置。
   例如:分片数量,副本数量
   查看:curl -XGET http://localhost:9200/bigdata/_settings?pretty
   操作不存在的索引:
   curl -XPUT 'localhost:9200/bigdata/' 
-d'{"settings":{"number_of_shards":3,"number_of_replicas":2}}'
   操作已存在的索引:
   curl -XPUT 'localhost:9200/bigdata/_settings' 
-d'{"index":{"number_of_replicas":2}}'

Mappings

   就是对索引库中索引的字段名称及其数据类型进行定义,类似于关系数据库中表
   建立时要定义字段名及其数据类型那样,(和solr中的schme类似)不过es的
   mapping比数据库灵活很多,它可以动态添加字段。一般不需要要指定mapping都
   可以,因为es会自动根据数据格式定义它的类型,如果你需要对某些字段添加特
   殊属性(如:定义使用其它分词器、是否分词、是否存储等),就必须手动添加mapping

   查询索引库的mapping信息 
  curl -XGET http://localhost:9200/bigdata/dep/_mapping?pretty
mappings修改字段相关属性,见备注
   例如:字段类型,使用哪种分词工具
mappings
注意:下面可以使用indexAnalyzer定义分词器,也可以使用index_analyzer定义分词器
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI