示例#1
0
def get_documents(params, size, index, scroll_id=None):
    request = None
    queryObj = Query(params)

    if not scroll_id:
        es_uri = "/" + index + "/doc/_search?scroll=1d"
        request = queryObj.get_documents_query()
        request['size'] = size
    else:
        es_uri = "/_search/scroll"
        request = {"scroll": "1d", "scroll_id": scroll_id}

    logger.debug("get_documents() ==> request : ")
    for k, v in request.items():
        logger.debug("\t{} : {}".format(k, v))

    es_conn = hc.HTTPConnection(es_ip, es_port, timeout=60)
    es_conn.request("POST", es_uri, json.dumps(request),
                    {"Content-type": "application/json"})
    result = es_conn.getresponse().read()

    if 'hits' in json.loads(result):
        logger.debug("[get_documents] result['hits']['total'] >>> %d" %
                     int(json.loads(result)['hits']['total']))
    else:
        logger.debug("[get_documents] result ::: " + str(result))

    return json.loads(result)
示例#2
0
def get_documents_count(params, index):
    queryObj = Query(params)

    es_uri = "/" + index + "/doc/_count"
    request = queryObj.get_documents_query()

    es_conn = hc.HTTPConnection(es_ip, es_port, timeout=60)
    es_conn.request("POST", es_uri, json.dumps(request),
                    {"Content-type": "application/json"})
    result = es_conn.getresponse().read()

    if 'count' in json.loads(result):
        return json.loads(result)['count']
    else:
        logger.error("[get_documents_count] %s" % str(result))
        return -1