@@ -102,7 +102,7 @@ def next_scroll(scroll_id):
102
102
103
103
if self .opts .doc_types :
104
104
search_args ['doc_type' ] = self .opts .doc_types
105
-
105
+
106
106
if self .opts .query .startswith ('@' ):
107
107
query_file = self .opts .query [1 :]
108
108
if os .path .exists (query_file ):
@@ -124,7 +124,8 @@ def next_scroll(scroll_id):
124
124
search_args ['q' ] = query
125
125
126
126
if '_all' not in self .opts .fields :
127
- search_args ['fields' ] = ',' .join (self .opts .fields )
127
+ search_args ['_source_include' ] = ',' .join (self .opts .fields )
128
+ self .csv_headers .extend ([field for field in self .opts .fields if '*' not in field ])
128
129
129
130
if self .opts .debug_mode :
130
131
print ('Using these indices: %s' % ', ' .join (self .opts .index_prefixes ))
@@ -138,7 +139,7 @@ def next_scroll(scroll_id):
138
139
139
140
print ('Found %s results' % self .num_results )
140
141
if self .opts .debug_mode :
141
- print (res )
142
+ print (json . dumps ( res ) )
142
143
143
144
if self .num_results > 0 :
144
145
open (self .opts .output_file , 'w' ).close ()
@@ -209,19 +210,15 @@ def is_dict(arg):
209
210
with open (self .tmp_file , 'a' ) as tmp_file :
210
211
for hit in hit_list :
211
212
out = {field : hit [field ] for field in META_FIELDS } if self .opts .meta_fields else {}
212
- if '_source' in hit :
213
+ if '_source' in hit and len ( hit [ '_source' ]) > 0 :
213
214
to_keyvalue_pairs (hit ['_source' ])
214
215
tmp_file .write ('%s\n ' % json .dumps (out ))
215
- elif 'fields' in hit :
216
- to_keyvalue_pairs (hit ['fields' ])
217
- tmp_file .write ('%s\n ' % json .dumps (out ))
218
216
tmp_file .close ()
219
217
220
218
def write_to_csv (self ):
221
219
if self .num_results > 0 :
222
220
self .num_results = sum (1 for line in open (self .tmp_file , 'r' ))
223
221
if self .num_results > 0 :
224
- self .csv_headers .sort ()
225
222
output_file = open (self .opts .output_file , 'a' )
226
223
csv_writer = csv .DictWriter (output_file , fieldnames = self .csv_headers , delimiter = self .opts .delimiter )
227
224
csv_writer .writeheader ()
0 commit comments