-
Notifications
You must be signed in to change notification settings - Fork 0
/
query_elastic.py
43 lines (33 loc) · 1.13 KB
/
query_elastic.py
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
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
# import Python's JSON library for its loads() method
import json, requests
# import time for its sleep method
from time import sleep
# import the datetime libraries datetime.now() method
from datetime import datetime
# use the Elasticsearch client's helpers class for _bulk API
from elasticsearch import Elasticsearch, helpers
# declare a client instance of the Python Elasticsearch library
client = Elasticsearch("localhost:9200")
# Python dictionary object representing an Elasticsearch JSON query:
search_param = {
"_source": ["title","abstract","doi","year"],
"query": {
"more_like_this": {
"fields": [ "title", "abstract", "keywords" ],
"like": [
{
"_index": "some_index",
"_id": "5632"
}
]
}
}
}
print("\nRunning the following query on ES instance:")
print(search_param)
response = client.search(index="some_index", body=search_param)
print("\nSaving ES response to file: response.json")
with open('response.json', 'w') as outfile:
json.dump(response, outfile)