index.rb
788 Bytes
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
module Searchkick
class Index
attr_reader :name
def initialize(name)
@name = name
end
def create(options = {})
Searchkick.client.indices.create index: name, body: options
end
def delete
Searchkick.client.indices.delete index: name
end
def exists?
Searchkick.client.indices.exists index: name
end
def refresh
Searchkick.client.indices.refresh index: name
end
def store(record)
Searchkick.client.index(
index: name,
type: record.document_type,
id: record.id,
body: record.as_indexed_json
)
end
def remove(record)
Searchkick.client.delete(
index: name,
type: record.document_type,
id: record.id
)
end
end
end