Python, почему Elasticsearch возвращает записи не по заданному запросу? - PullRequest
0 голосов
/ 11 декабря 2018

Я новичок вasticsearch и пытаюсь получить данные по запросу с несколькими совпадениями.

Пример данных ниже:

{   
    .......
    "_source": {
        "itemid": 40233,
        "value": "176016",
    }
}
{   
    .......
    "_source": {
        "itemid": 40238,
        "value": "176016",
    }
}
{   
    "_index": "uint-2018-12-04",
    .......
    "_source": {
        "itemid": 40203,
        "value": "176016",
    }
}

Мой код:

def __init__(self, CustomerName, DeviceID):
    self.client = Elasticsearch(hosts=['***.***.***.***'])
    self.search = Search(using=self.client, index="ind-*").extra(size=50)

def get_data_test(self):
    self.search.query("match", itemid=40233)
    response = self.search.execute()
    for hitX in response.hits.hits:
        print(hitX)

Работает, но не возвращает ожидаемые записи, Возвращает все записи

1 Ответ

0 голосов
/ 11 декабря 2018

метод query возвращает копию объекта Search.Вам нужно сделать:

s = self.search.query("match", itemid=40233)
response = s.execute()
...
...