Class: Couchbase::Options::Search

Inherits:
Base
  • Object
show all
Defined in:
lib/couchbase/options.rb,
/home/runner/work/couchbase-ruby-client/couchbase-ruby-client/lib/couchbase/options.rb

Overview

Instance Attribute Summary collapse

Attributes inherited from Base

#client_context, #parent_span, #retry_strategy, #timeout

Instance Method Summary collapse

Constructor Details

#initialize(limit: nil, skip: nil, explain: false, highlight_style: nil, highlight_fields: nil, fields: nil, mutation_state: nil, disable_scoring: false, include_locations: false, collections: nil, sort: nil, facets: nil, transcoder: JsonTranscoder.new, timeout: nil, retry_strategy: nil, client_context: nil, parent_span: nil) {|self| ... } ⇒ Search

Returns a new instance of Search.

Parameters:

  • limit (Integer) (defaults to: nil)

    limits the number of matches returned from the complete result set.

  • skip (Integer) (defaults to: nil)

    indicates how many matches are skipped on the result set before starting to return the matches

  • explain (Boolean) (defaults to: false)

    triggers inclusion of additional search result score explanations.

  • highlight_style (:html, :ansi, nil) (defaults to: nil)

    the style of highlighting in the result excerpts (if not specified, the server default will be used)

  • highlight_fields (Array<String>) (defaults to: nil)

    list of the fields to highlight

  • fields (Array<String>) (defaults to: nil)

    list of field values which should be retrieved for result documents, provided they were stored while indexing

  • mutation_state (MutationState) (defaults to: nil)

    the mutation tokens this query should be consistent with

  • disable_scoring (Boolean) (defaults to: false)

    If set to true, the server will not perform any scoring on the hits

  • include_locations (Boolean) (defaults to: false)

    UNCOMMITTED: If set to true, will include the vector of search_location in rows

  • collections (Array<String>, nil) (defaults to: nil)

    list of collections by which to filter the results

  • sort (Array<String, Cluster::SearchSort>) (defaults to: nil)

    Ordering rules to apply to the results. The list might contain either strings or special objects, that derive from Cluster::SearchSort. In case of String, the value represents the name of the field with optional - in front of the name, which will turn on descending mode for this field. One field is special is “_score” which will sort results by their score. When nothing specified, the Server will order results by their score descending, which is equivalent of “-_score”.

  • facets (Hash<String => Cluster::SearchFacet>) (defaults to: nil)

    facets allow to aggregate information collected on a particular result set

  • transcoder (JsonTranscoder, #decode(String)) (defaults to: JsonTranscoder.new)

    to use for the results

  • timeout (Integer, #in_milliseconds, nil) (defaults to: nil)
  • retry_strategy (Proc, nil) (defaults to: nil)

    the custom retry strategy, if set

  • client_context (Hash, nil) (defaults to: nil)

    the client context data, if set

  • parent_span (Span, nil) (defaults to: nil)

    if set holds the parent span, that should be used for this request

Yield Parameters:



2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
# File 'lib/couchbase/options.rb', line 2362

def initialize(limit: nil,
               skip: nil,
               explain: false,
               highlight_style: nil,
               highlight_fields: nil,
               fields: nil,
               mutation_state: nil,
               disable_scoring: false,
               include_locations: false,
               collections: nil,
               sort: nil,
               facets: nil,
               transcoder: JsonTranscoder.new,
               timeout: nil,
               retry_strategy: nil,
               client_context: nil,
               parent_span: nil)
  super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
  @limit = limit
  @skip = skip
  @explain = explain
  @highlight_style = highlight_style
  @highlight_fields = highlight_fields
  @fields = fields
  @disable_scoring = disable_scoring
  @include_locations = include_locations
  @collections = collections
  @sort = sort
  @facets = facets
  @transcoder = transcoder
  @scan_consistency = :not_bounded
  @mutation_state = mutation_state
  yield self if block_given?
end

Instance Attribute Details

#collectionsArray<String>?

Returns:

  • (Array<String>, nil)


2329
2330
2331
# File 'lib/couchbase/options.rb', line 2329

def collections
  @collections
end

#disable_scoringBoolean

Returns:

  • (Boolean)


2327
2328
2329
# File 'lib/couchbase/options.rb', line 2327

def disable_scoring
  @disable_scoring
end

#explainBoolean

Returns:

  • (Boolean)


2323
2324
2325
# File 'lib/couchbase/options.rb', line 2323

def explain
  @explain
end

#facetsHash<String => Cluster::SearchFacet>

Returns:



2331
2332
2333
# File 'lib/couchbase/options.rb', line 2331

def facets
  @facets
end

#fieldsArray<String>

Returns:

  • (Array<String>)


2326
2327
2328
# File 'lib/couchbase/options.rb', line 2326

def fields
  @fields
end

#highlight_fieldsArray<String>

Returns:

  • (Array<String>)


2325
2326
2327
# File 'lib/couchbase/options.rb', line 2325

def highlight_fields
  @highlight_fields
end

#highlight_styleSymbol

Returns:

  • (Symbol)


2324
2325
2326
# File 'lib/couchbase/options.rb', line 2324

def highlight_style
  @highlight_style
end

#include_locationsBoolean

Returns:

  • (Boolean)


2328
2329
2330
# File 'lib/couchbase/options.rb', line 2328

def include_locations
  @include_locations
end

#limitInteger

Returns:

  • (Integer)


2321
2322
2323
# File 'lib/couchbase/options.rb', line 2321

def limit
  @limit
end

#scan_consistency=(level) ⇒ void

Note:

overrides consistency level set by #consistent_with

This method returns an undefined value.

Customizes the consistency guarantees for this query

Parameters:

  • level (:not_bounded)

    the scan consistency to be used for this query

    :not_bounded

    The engine will return whatever state it has at the time of query



2417
2418
2419
2420
# File 'lib/couchbase/options.rb', line 2417

def scan_consistency=(level)
  @mutation_state = nil if @mutation_state
  @scan_consistency = level
end

#skipInteger

Returns:

  • (Integer)


2322
2323
2324
# File 'lib/couchbase/options.rb', line 2322

def skip
  @skip
end

#sortArray<String, Cluster::SearchSort>

Returns:



2330
2331
2332
# File 'lib/couchbase/options.rb', line 2330

def sort
  @sort
end

#transcoderJsonTranscoder, #decode(String)

Returns:



2332
2333
2334
# File 'lib/couchbase/options.rb', line 2332

def transcoder
  @transcoder
end

Instance Method Details

#consistent_with(mutation_state) ⇒ void

Note:

overrides consistency level set by #scan_consistency=

This method returns an undefined value.

Sets the mutation tokens this query should be consistent with

Parameters:

  • mutation_state (MutationState)

    the mutation state containing the mutation tokens



2404
2405
2406
2407
# File 'lib/couchbase/options.rb', line 2404

def consistent_with(mutation_state)
  @scan_consistency = nil if @scan_consistency
  @mutation_state = mutation_state
end