• Elasticsearch 搜索API


    简介

    该API用于在Elasticsearch中搜索内容。用户可以通过发送带有查询字符串作为参数的get请求进行搜索,或者可以在发布请求的消息正文中发布查询。搜索 api 主要是多索引、多类型的。

    多索引

    Elasticsearch允许我们搜索所有索引或某些特定索引中存在的文档。

    例如,如果我们需要搜索city名称包含“Meerut”的所有文档,则可以执行以下操作:

    GET /_all/_search?q=city:Meerut

    返回:

    {
        "took": 1,
        "timed_out": false,
        "_shards": {
            "total": 4,
            "successful": 4,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 1,
                "relation": "eq"
            },
            "max_score": 0.2876821,
            "hits": [
                {
                    "_index": "school",
                    "_id": "1",
                    "_score": 0.2876821,
                    "_source": {
                        "name": "City School",
                        "description": "ICSE",
                        "street": "West End",
                        "city": "Meerut",
                        "state": "UP"
                    }
                }
            ]
        }
    }

    URI搜索

    可以使用统一资源标识符在搜索操作中传递许多参数-

    序号参数及说明
    1

    Q

    此参数用于指定查询字符串

    2

    lenient

    此参数用于指定查询字符串。只要将此参数设置为 true,就可以忽略基于 Formatbased 的错误。默认情况下它是假的。

    3

    fields

    此参数用于指定查询字符串

    4

    sort

    我们可以通过使用这个参数得到排序的结果,这个参数的可能值是fieldName, fieldName:asc/ fieldName:desc

    5

    timeout

    我们可以通过使用这个参数来限制搜索时间,并且响应只包含指定时间内的命中。默认情况下,没有超时

    6

    terminate_after

    们可以将响应限制为每个碎片的指定数量的文档,到达该分片时,查询将提前终止。默认情况下,没有 termin_after.

    7

    from

    要返回的命中数的起始索引。默认为0。

    8

    size

    它表示要返回的命中数,默认值为10。

    请求正文搜索

    又叫全文搜索, 会自动匹配 _source 下的所有内容

    POST  /schools/_search
    
    {
       "query":{
          "query_string":{
             "query":"City"
          }
       }
    }

    搜索内容包含 “City” 的文档

    返回:

    {
        "took": 0,
        "timed_out": false,
        "_shards": {
            "total": 1,
            "successful": 1,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 1,
                "relation": "eq"
            },
            "max_score": 0.2876821,
            "hits": [
                {
                    "_index": "school",
                    "_id": "1",
                    "_score": 0.2876821,
                    "_source": {
                        "name": "City School",
                        "description": "ICSE",
                        "street": "West End",
                        "city": "Meerut",
                        "state": "UP"
                    }
                }
            ]
        }
    }
  • 相关阅读:
    解决maven构建webapp index.jsp报错问题
    Maven入门介绍
    Linux常用命令的解释
    linux怎么查看一个文件夹的大小
    EPEL源-是什么全称
    nginx+php-fpm配置后页面显示空白的解决方法(yum形式的安装)
    配置新服务器 的一些 依赖库 php mysql nginx
    服务器 CentOS上yum安装Nginx服务
    Java File创建新目录和文件
    struts2的文件上传
  • 原文地址:https://www.cnblogs.com/TF511/p/16499604.html
Copyright © 2020-2023  润新知