-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.py
executable file
·100 lines (83 loc) · 2.02 KB
/
search.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
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
90
91
92
93
94
95
96
97
98
#!/usr/bin/env python
from elasticsearch import Elasticsearch
from pprint import PrettyPrinter
printer = PrettyPrinter()
es = Elasticsearch()
##########################
####### FIND ALL ########
##########################
#results = es.search(index='github', body={
# 'query': {
# 'match_all': {}
# }
#})
#
#for result in results['hits']['hits']:
# printer.pprint(result)
##########################
####### FIND PYTHON #######
##########################
#results = es.search(index='github', body={
# 'query': {
# 'match': {
# 'file_extension': '.py'
# }
# },
# 'size': 3
#})
##########################
####### FIND JAVA ARMOR #######
##########################
#results = es.search(index='github', body={
# 'query': {
# 'bool': {
# 'must': [
# { 'match': { 'contents': 'armor' } }
# ],
# 'filter': {
# 'match': { 'file_extension': '.java' }
# }
# }
# },
# '_source': ['contents'],
# 'sort': { '_score': 'desc' },
# 'size': 2
#})
##########################
####### COUNT FILES BY TYPE #######
##########################
#results = es.search(index='github', body={
# 'size': 0,
# 'aggs': {
# 'group_by_type': {
# 'terms': {
# 'field': 'file_extension.keyword'
# },
# }
# }
#})
##########################
####### AVG SIZE BY TYPE #######
##########################
results = es.search(index='github', body={
'size': 0,
'aggs': {
'group_by_type': {
'terms': {
'field': 'file_extension.keyword'
},
'aggs': {
'average_size': {
'avg': {
'field': 'size'
}
}
}
}
}
})
if len(results['hits']['hits']) > 0:
for result in results['hits']['hits']:
printer.pprint(result)
if 'aggregations' in results:
printer.pprint(results['aggregations'])