为了账号安全,请及时绑定邮箱和手机立即绑定

如何在api命中中调用具有特定索引的弹性搜索url

如何在api命中中调用具有特定索引的弹性搜索url

犯罪嫌疑人X 2023-02-22 15:21:40
我创建test-index使用aws-lambda-pythontest-index 我已经创建了 api,我需要调用具有以下索引模式的上述索引名称的 urlresult = es.search(index="my-index-1", body={"query": {"match_all": {}}})如何在点击一个 URL 时获取结果中的内容?
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

import boto3

import json

from requests_aws4auth import AWS4Auth

from elasticsearch import Elasticsearch, RequestsHttpConnection

session = boto3.session.Session()

credentials = session.get_credentials()


awsauth = AWS4Auth(credentials.access_key,

                   credentials.secret_key,

                   session.region_id, 'es',

                   session_token=credentials.token)

es = Elasticsearch(

    ['https://xx.amazonaws.com'],

    http_auth=awsauth,

    use_ssl=True,

    verify_certs=True,

    connection_class=RequestsHttpConnection

)



def lambda_handler(event, context):

    es.cluster.health()

    es.indices.delete(index='data', ignore=[400, 404])


    es.indices.create(index='data', ignore=400)

    r = [{'id': '1', 'data': 'Health'},

 {'id': '2', 'data': 'countries'},

 {'id': '3', 'data': 'currency'},

 {'id': '4', 'data': 'language'}]

    for e in enumerate(r):

        es.index(index="data", body=e[1])

        result = es.search(index="data", body={"query": {"match_all": {}}})

    return{

        'statusCode': 200,

        #'body': json.dumps('API INVOKES!')

        'body':result

    }


查看完整回答
反对 回复 2023-02-22
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信