Class: Marqo::Document

Inherits:
Object
  • Object
show all
Defined in:
lib/marqo/document.rb

Class Method Summary collapse

Class Method Details

.create(endpoint, index_name, documents, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/marqo/document.rb', line 7

def create(endpoint, index_name, documents, options = {})
  url = Marqo::UrlHelpers.base_document_endpoint(endpoint, index_name)

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = url.scheme == "https"
  request = Net::HTTP::Post.new(url)
  request['Content-type'] = 'application/json'

  request_body = { documents: documents }

  request_body[:tensorFields] = options[:tensor_fields] if options[:tensor_fields].count.positive?

  request.body = JSON.dump(request_body)

  http.request(request)
end

.delete(endpoint, index_name, document_ids) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/marqo/document.rb', line 56

def delete(endpoint, index_name, document_ids)
  url = Marqo::UrlHelpers.delete_document_endpoint(endpoint, index_name)

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = url.scheme == "https"
  request = Net::HTTP::Post.new(url)
  request['Content-type'] = 'application/json'

  request.body = JSON.dump(document_ids)

  http.request(request)
end

.find(endpoint, index_name, document_id, options = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/marqo/document.rb', line 25

def find(endpoint, index_name, document_id, options = {})
  url = Marqo::UrlHelpers.find_document_endpoint(endpoint, index_name, document_id)

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = url.scheme == "https"
  request = Net::HTTP::Get.new(url)

  if options[:expose_facets]
    params = { 'expose_facets' => options[:expose_facets] }
    request.set_form_data(params)
    request = Net::HTTP::Get.new("#{url.path}?#{request.body}")
  end

  http.request(request)
end

.finds(endpoint, index_name, document_ids) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/marqo/document.rb', line 42

def finds(endpoint, index_name, document_ids)
  url = Marqo::UrlHelpers.base_document_endpoint(endpoint, index_name)

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = url.scheme == "https"
  request = Net::HTTP::Get.new(url)
  request['Content-Type'] = 'application/json'

  request.body = JSON.dump(document_ids)

  http.request(request)
end