@@ -24,8 +24,12 @@ def index(path, data)
24
24
@connection . request ( :put , path , data )
25
25
end
26
26
27
- def search ( path , query )
28
- @connection . request ( :post , action_path ( path , :search ) , query )
27
+ def search ( path , query , params = { } )
28
+ @connection . request ( :post , action_path ( path , :search , params ) , query )
29
+ end
30
+
31
+ def scroll ( params = { } )
32
+ @connection . request ( :get , action_path ( nil , 'search/scroll' , params ) )
29
33
end
30
34
31
35
def update ( path , data )
@@ -36,9 +40,18 @@ def bulk(requests, path = nil)
36
40
@connection . request ( :post , action_path ( path , :bulk ) , requests )
37
41
end
38
42
43
+ def get_mapping ( path )
44
+ @connection . request ( :get , action_path ( path , :mapping ) )
45
+ end
46
+
39
47
private
40
- def action_path ( path , action )
41
- path ? "#{ path } /_#{ action } " : "_#{ action } "
48
+ def action_path ( path , action , params = { } )
49
+ full_path = path ? "#{ path } /_#{ action } " : "_#{ action } "
50
+ params . any? ? "#{ full_path } ?#{ serialize_params ( params ) } " : full_path
51
+ end
52
+
53
+ def serialize_params ( params )
54
+ params . map { |k , v | "#{ k } =#{ v } " } . join ( '&' )
42
55
end
43
56
end
44
57
end
0 commit comments