クラス: Mongo::SearchIndex::View

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
列挙可能、 コレクション:: ヘルパー 再試行可能
定義:
lib/mongo/search_index/view.rb

Overview

検索インデックスのビューを表すクラス。

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コレクション:: ヘルパーに含まれるメソッド

#do_drop

再試行可能な に含まれるメソッド

#read_worker、#select_server、#with_overload_retry、#write_worker

コンストラクターの詳細

#初期化(コレクション、オプション = {}) = 初期化 =表示

新しい検索インデックスビューを作成します。

パラメーター:

  • コレクション コレクション

    コレクション。

  • options ハッシュ (デフォルトは{}です)

    ビューの動作を構成するオプション。

オプション ハッシュ( options ):

  • :id string

    クエリする特定のインデックスID(任意)

  • :name string

    クエリする特定のインデックスの名前(任意)

  • :aggregate ハッシュ

    使用可能なインデックスをクエリするときに、オプションは集計コマンドに送信するためにハッシュされます。

次の値が発生します。

  • (ArgumentError)


36
37
38
39
40
41
42
43
44
45
# ファイル 'lib/mongo/search_index/view.rb' は、36 行

デフォルト 初期化(コレクション, options = {})
  @collection = コレクション
  @requested_index_id = options[:id]
  @requested_index_name = options[:name]
  @aggregate_options = options[:aggregate] || {}

  return 場合 @aggregate_options.is_a?(ハッシュ)

  発生 ArgumentError, " :aggregate オプションは ハッシュ である必要があります(#{ @aggregate_options .クラス} )。
end

インスタンス属性の詳細

# aggregate_options = ハッシュ(読み取り専用)

使用可能なインデックスをクエリするときに、集計コマンドに使用するオプションを返します。

次の値を返します。

  • ハッシュ

    利用可能なインデックスをクエリするときに 集計コマンドに使用するオプション ハッシュ。



23
24
25
# ファイル 'lib/mongo/search_index/view.rb' は、23 行

デフォルト aggregate_options
  @aggregate_options
end

コレクション= Mongo::Collection (readonly)

このビューが属するコレクションを返します。

次の値を返します。



13
14
15
# ファイル 'lib/mongo/search_index/view.rb' は、13 行

デフォルト コレクション
  @collection
end

requests_index_id ~ : nil | string(読み取り専用)

クエリするインデックスID を返します。

次の値を返します。

  • ( nil | string )

    クエリするインデックスID



16
17
18
# ファイル 'lib/mongo/search_index/view.rb' は、16 行

デフォルト requested_index_id
  @requested_index_id
end

# requested_index_name = nil | string(読み取り専用)

クエリするインデックス名を返します。

次の値を返します。

  • ( nil | string )

    クエリするインデックス名



19
20
21
# ファイル 'lib/mongo/search_index/view.rb' は、19 行

デフォルト requested_index_name
  @requested_index_name
end

インスタンス メソッドの詳細

詳しくは、 create_many (インデックス) = 配列=string><String>

1 つの コマンドで複数の検索インデックスを作成

パラメーター:

  • indexes <Hash>配列 )

    作成するインデックスの説明。リストの各要素は、定義キー、任意の名前キー、任意のタイプキーを持つハッシュである必要があります。タイプ キーは、「search」または「vectorSearch」のいずれかである必要があります。デフォルトは「検索」です。

次の値を返します。

  • <String>配列未満

    新しい検索インデックスの名前。



71
72
73
74
75
76
77
78
79
# ファイル 'lib/mongo/search_index/view.rb' は、71 行

デフォルト create_many(indexes)
  スペック = spec_with(indexes: indexes.map { |v| validate_search_index!(v) })
  操作 = 操作::検索インデックスを作成します.新着情報(スペック)
  context = execution_context
  トレーサー.track_operation(操作, context, op_name: ' createSearchIndexes ') 行う
    結果 = 操作.実行する(next_primary, context: context)
    結果.最初に[' IndexesCreed '].map { |idx| idx[' name '] }
  end
end

# create_one (定義、名前: nil、タイプ: 'search')= string

指定された定義を持つ単一の検索インデックスを作成します。 という名前が指定されている場合、新しいインデックスにはその名前が付けられます。

パラメーター:

  • definition ハッシュ

    検索インデックスの定義。

  • name ( nil | string ) (デフォルトはnil

    新しい検索インデックスに付ける名前。

  • タイプ string (デフォルトは 'search'

    検索インデックスのタイプ。可能な値は 'search' と 'vectorSearch' です。デフォルトは「検索」です。

次の値を返します。

  • ( string )

    新しい検索インデックスの名前 。



56
57
58
59
60
61
# ファイル 'lib/mongo/search_index/view.rb' は、56 行

デフォルト create_one(definition, name: nil, type: ' 検索 ')
  スペック = { 定義: definition, type: タイプ }.タップ 行う |sp|
    sp[:name] = name ただし、 name.nil?
  end
  create_many([ スペック ]).最初に
end

# drop_one (ID: nil、name: nil)= Mongo::Operation::Result| false

指定された ID または名前を持つ検索インデックスを削除します。 どちらかを指定する必要がありますが、両方は指定しないでください。

パラメーター:

  • id string (デフォルトはnil

    削除するインデックスの ID

  • name string (デフォルトはnil

    削除するインデックスの名前

次の値を返します。

  • Mongo::Operation::Result | false

    操作の結果 、または指定されたインデックスが存在しない場合は false 。



89
90
91
92
93
94
95
96
97
98
99
100
101
102
# ファイル 'lib/mongo/search_index/view.rb' は、89 行

デフォルト drop_one(ID : nil, name: nil)
  validate_id_or_name!(id, name)

  スペック = spec_with(index_id: id, index_name: name)
  op = 操作::DropSearchIndex.新着情報(スペック)
  context = execution_context

  トレーサー.track_operation(op, context, op_name: 'dropSearchIndex') 行う
    仕様あたりの番号:
    ドライバーは、次の NamespaceNotFound エラーを抑制する必要があります
    ``dropSearchIndex``ヘルパー.  削除操作は冪等である必要があります。
    do_drop(op, nil, context)
  end
end

( & ブロック) =================================================列挙型

検索インデックスを反復処理します。

パラメーター:

  • ブロック Proc

    指定された場合、各検索インデックスはブロックに提供されます。

次の値を返します。

  • 自己 | 列挙型

    ブロックが指定された場合、自分自身が返されます。 それ以外の場合は、列挙子が返されます。



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# ファイル 'lib/mongo/search_index/view.rb' は、111 行

デフォルト (&ブロック)
  @result ||= begin
    スペック = {}.タップ 行う |s|
      s[:id] = requested_index_id 場合 requested_index_id
      s[:name] = requested_index_name 場合 requested_index_name
    end

    コレクション.と共に(read_concern: {}).集計(
      [ { '$listSearchIndexes' => スペック } ],
      aggregate_options
    )
  end

  return @result.to_enum ただし、 ブロック

  @result.(&ブロック)
  自己
end

#= true | false

検索インデックスの列挙可能性が空かどうかをクエリします。

次の値を返します。

  • true | false

    列挙可能な が空かどうか。



156
157
158
# ファイル 'lib/mongo/search_index/view.rb' は、156 行

デフォルト 空の場合
  count.zero?
end

# update_one (定義、 ID: nil、名前: nil) = Mongo::Operation::Result

指定された ID または名前で検索インデックスを更新します。 どちらかを指定する必要がありますが、両方を指定することはできません。

パラメーター:

  • definition ハッシュ

    指定された検索インデックスを置き換える定義。

  • id ( nil | string ) (デフォルトはnil

    更新する検索インデックスの ID

  • name ( nil | string ) (デフォルトはnil

    更新する検索インデックスの名前

次の値を返します。



139
140
141
142
143
144
145
146
147
148
# ファイル 'lib/mongo/search_index/view.rb' は、139 行

デフォルト update_one(definition, ID : nil, name: nil)
  validate_id_or_name!(id, name)

  スペック = spec_with(index_id: id, index_name: name, index: definition)
  op = 操作::updateSearchIndex.新着情報(スペック)
  context = execution_context
  トレーサー.track_operation(op, context, op_name: 'updateSearchIndex') 行う
    op.実行する(next_primary, context: context)
  end
end