【ES】学习1-入门使用

参考资料:

https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/_search_lite.htm

 

1.查询es数据的方法

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
curl -XGET 'http://localhost:9200/_count?pretty' -d '
{
    "query":{
            "match_all":{}
     }
}'

 

2.轻量搜索

查询index=megacorp, doc_type=employee的所有文档

curl -XGET 'http://localhost:9200/megacorp/employee/_search?pretty'

查询index=megacorp, doc_type=employee且last_name=Smith的所有文档

curl -XGET 'http://localhost:9200/megacorp/employee/_search?q=last_name:Smith'

 

3.查询表达式搜索,使用领域特定语言(DSL)

查询index=megacorp, doc_type=employee且last_name=Smith的所有文档

curl -XGET 'http://localhost:9200/megacorp/employee/_search' -d '
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}'

 

4.全文搜索

下面的语句中未必会匹配上完整的"rock climbing",而是会根据相关性打分,单独的"rock"也有可能匹配上。

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "about" : "rock climbing"
        }
    }
}

 

5.短语搜索

如果想匹配完整的"rock climbing",需要将match改为match_phrase。这样"rock"就无法匹配了。 不过"I like rock climbing"这样的语句还是能匹配上的。

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}

 

6.高亮搜索 highlight参数

高亮显示about字段

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {
        "fields" : {
            "about" : {}
        }
    }
}

 

7.聚合

查询特定兴趣爱好员工的平均年龄

GET /megacorp/employee/_search
{
    "aggs" : {
        "all_interests" : {
            "terms" : { "field" : "interests" },
            "aggs" : {
                "avg_age" : {
                    "avg" : { "field" : "age" }
                }
            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值