美文网首页ELK
19.Elasticsearch索引基础查询-1

19.Elasticsearch索引基础查询-1

作者: 大勇任卷舒 | 来源:发表于2022-04-15 16:21 被阅读0次

    19.1 REST API搜索示例

    • 运行搜索有两种基本方法:一种是通过REST求URI发送检索参数,另一种是通过REST求体发送检索参数
    • 用于搜索的REST API可从_search端点访问。下面的例子返回"bank"索引中的所有文档:
    curl -X GET "localhost:9200/bank/_search?q=*&sort=account_number:asc&pretty“ 
    
    • 我们在"bank"索引中检索,q=*参数表示匹配所有文档;sort=account_number:asc表示每个文档的account_number字段升序排序;pretty参数表示返回漂亮打印的JSON结果。
    • 运行结果:


    • 搜索参数解析:
      • took : Elasticsearch执行搜索的时间(以毫秒为单位)
      • timed_out : 告诉我们检索是否超时
      • _shards : 告诉我们检索了多少分片,以及成功/失败的分片数各是多少
      • hits : 检索的结果
      • hits.total : 符合检索条件的文档总数
      • hits.hits : 实际的检索结果数组(默认为前10个文档)
      • hits.sort : 排序的key(如果按分值排序的话则不显示)
      • hits._score 和 max_score 现在我们先忽略这些字段

    19.2 DSL语句查询

    • Elasticsearch提供丰富且灵活的查询语言叫做DSL查询(Query DSL),它允许构建更加复杂、强大的查询。
    • DSL(Domain Specific Language特定领域语言)以JSON求体的形式出现。

    19.2.1 DSL查询示例1

    • 上一个例子,还可以这样查询
      • 注:match_all部分是我们想要运行的查询类型。
    curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -
    d'
    {
      "query": { "match_all": {} },
      "sort": [
        { "account_number": "asc" }
      ]
    }
    ‘
    

    19.2.2 DSL查询示例2

    • 除了查询参数外,我们还可以传递其他参数来影响搜索结果。在上面部分的例子中,我们传的是sort参数,还能传递更多参数:
    curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -
    d'
    {
      "query": { "match_all": {} },
      "from": 10,
      "size": 10
    }
    '
    

    19.2.3 DSL查询示例3

    • 示例执行match_all,并按照帐户余额降序对结果进行排序,并返回前10个(默认大小)文档。
    curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -
    d'
    {
      "query": { "match_all": {} },
      "sort": { "balance": { "order": "desc" } }
    }
    '
    

    大数据视频推荐:
    腾讯课堂
    CSDN
    ELK入门精讲
    AIOps智能运维实战
    ELK7 stack开发运维
    大数据语音推荐:
    ELK7 stack开发运维
    企业级大数据技术应用
    大数据机器学习案例之推荐系统
    自然语言处理
    大数据基础
    人工智能:深度学习入门到精通

    相关文章

      网友评论

        本文标题:19.Elasticsearch索引基础查询-1

        本文链接:https://www.haomeiwen.com/subject/arkqertx.html