Bonjour,

je code un petit programme en python qui me permet de faire des requêtes ES en fonction des résultats via mysql.
Lors de ma deuxième requête, ES me retourne rien .....

voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pprint
import sys
import logging
import json
import time
import random
import os,binascii
import pycurl
import StringIO
import MySQLdb as mdb
import urlparse
import smtplib
 
 
#log
logger = logging.getLogger(__name__)
logger.info("Lancement du worker")
#variables globales
ip_ES ="127.0.0.1"
port_ES = "9200"
index_ES ="twitter"
type_ES = "tweet"
c = pycurl.Curl()
b = StringIO.StringIO()
 
 
#
# Creation de l'url
#
def BuildUrl():
    return "http://"+ip_ES+":"+port_ES+"/"+index_ES+"/"+type_ES+"/"
 
 
#
# Creation de la requete curl pour
# interroger ES
#
def CreateRqtES(info,nbr_annonce):
#def test(nbr_annonce, brand): 
    request = BuildUrl()+'_search?sort=title:asc&from=0&size='+str(nbr_annonce)+'&q=annonce:'+annonce+'&pretty=true'
    print("link:", request)
    try:
        c.setopt(c.URL, request)
        c.setopt(pycurl.WRITEFUNCTION, b.write)
        c.perform()
        c.close()
        print "test" 
        try:
            decoded = json.loads(b.getvalue())
            json.dumps(decoded, sort_keys=True, indent=4)
            for index in decoded['hits']['hits']:
                var = index['_source']['link']
                print var
        except (ValueError, KeyError, TypeError) as error:
            print error
            #print "JSON format error"
        except IOError as e:
            print "I/O error({0}): {1}".format(e.errno, e.strerror)
    except Exception, e:
        logger.info("[-][FoundIdDocument] Erreur de connexion pycurl")
 
 
 
#
# Fonction qui permet de se connecter
# a la BDD
# 
def connectionBDD():
    try:
        con = mdb.connect('localhost', 'root', 'root', 'toto')
        with con:
            cur = con.cursor()
            cur.execute("SELECT * FROM  newsletters")
            for i in range(cur.rowcount):
                row = cur.fetchone()
                print row[1], row[2]
                CreateRqtES(row[1], row[2])
 
    except _mysql.Error, e:
        print "Error %d: %s" % (e.args[0], e.args[1])
        sys.exit(1)
    finally:
        if con:
            con.close()
 
if __name__=="__main__":
    connectionBDD()
si quelqu'un a une piste, je suis preneur

merci d'avance