Class: Rafflesia::Search

Inherits:
Object
  • Object
show all
Defined in:
lib/rafflesia/search.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Search

Returns a new instance of Search.



9
10
11
# File 'lib/rafflesia/search.rb', line 9

def initialize(client)
  @client = client
end

Instance Method Details

#combined(domain: nil, engine_timeout_ms: nil, max_hits: nil, reference: nil, require_complete: nil, sequence_overlay: nil, structure_overlay: nil, request_options: {}) ⇒ Rafflesia::EnvelopeCombinedSearchData

POST /v1/search/combined

Parameters:

  • domain (Rafflesia::Types::CombinedSearchRequestDomain, nil) (defaults to: nil)

    Optional search domain guard. If omitted, the server infers sequence, structure, or mixed from the requested sources.

  • engine_timeout_ms (Integer, nil) (defaults to: nil)

    Optional per-source deadline in milliseconds.

  • max_hits (Integer, nil) (defaults to: nil)

    Maximum merged hits returned across sources; defaults to 10.

  • reference (Rafflesia::CombinedSearchReferenceRequest, nil) (defaults to: nil)

    Immutable reference release search source.

  • require_complete (Boolean, nil) (defaults to: nil)

    When true, any requested source failure fails the whole operation. Defaults to partial results when at least one source succeeds.

  • sequence_overlay (Rafflesia::CombinedSearchSequenceOverlayRequest, nil) (defaults to: nil)

    Mutable sequence overlay search source.

  • structure_overlay (Rafflesia::CombinedSearchStructureOverlayRequest, nil) (defaults to: nil)

    Mutable structure overlay search source.

  • request_options (Hash) (defaults to: {})

    (see Rafflesia::Types::RequestOptions)

Returns:



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
# File 'lib/rafflesia/search.rb', line 23

def combined(
  domain: nil,
  engine_timeout_ms: nil,
  max_hits: nil,
  reference: nil,
  require_complete: nil,
  sequence_overlay: nil,
  structure_overlay: nil,
  request_options: {}
)
  body = {
    'domain' => domain,
    'engine_timeout_ms' => engine_timeout_ms,
    'max_hits' => max_hits,
    'reference' => reference,
    'require_complete' => require_complete,
    'sequence_overlay' => sequence_overlay,
    'structure_overlay' => structure_overlay
  }.compact
  response = @client.request(
    method: :post,
    path: '/v1/search/combined',
    auth: true,
    body: body,
    request_options: request_options
  )
  result = Rafflesia::EnvelopeCombinedSearchData.new(response.body)
  result.last_response = Rafflesia::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
  result
end