モジュール: Mongoid::SearchIndexable::Classメソッドs

定義:
lib/mongoid/search_indexable.rb

Overview

機能のクラスレベル メソッドの実装。

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

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

# create_search_indexs = 配列 =string=======================<String>

登録されているすべての検索インデックスの作成を要求します。 検索インデックスは非同期で作成され、完全に使用できるようになるまでに数分かかる場合があることに注意してください。

次の値を返します。

  • <String>配列未満

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



65
66
67
68
69
# ファイル 'lib/mongoid/search_indexable.rb' は、 65行

デフォルト create_search_indexes
  return 場合 search_index_specs.空の場合

  コレクション.search_indexes.create_many(search_index_specs)
end

delete_search_index (name: nil, ID : nil) =オブジェクト

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

パラメーター:

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

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

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

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



107
108
109
110
111
112
113
114
# ファイル 'lib/mongoid/search_indexable.rb' は、 107行

デフォルト delete_search_index(name: nil, ID : nil)
  logger.info(
    " MONGOID: 検索インデックス を削除します " #{ name || ID }  " \ " により 、 コレクション の コレクション は になり ます 。コレクション search_indexs  drop_one ( name: name , ID : ID  end

#remove_search_indexs =オブジェクト

注:

これにより、検索インデックスのみが削除できたら便利ですが、

登録されているすべての検索インデックスの削除をリクエストします。 検索インデックスは非同期に削除され、完全に削除されるまでに数分かかる場合があることに注意してください。

、モデルで宣言された )、モデルがインデックスに名前を付けない場合があるため、対応するインデックスの名前や ID がわかっていることを保証することはできません。 ただし、モデルが 1 対 1 で、必要なすべての検索インデックスを宣言するためのものであると想定するのは不可能ではありません。そのため、すべての検索インデックスを削除するだけで十分です。 代わりに特定のインデックスまたはインデックスのセットを削除する必要がある場合は、search_indexs.each と delete_search_index の使用を検討してください。



128
129
130
131
132
# ファイル 'lib/mongoid/search_indexable.rb' は、 128行

デフォルト delete_search_indexs
  search_indexes. 行う |スペック|
    delete_search_index ID : スペック['id']
  end
end

# search_index (name_or_defn、defn = nil) =オブジェクト

指定された単一キーまたは複合キーのインデックス定義を追加します。

例:

基本インデックスを作成します。

class Person
  include Mongoid::Document
  field :name, type: String
  search_index({ ... })
  search_index :name_of_index, { ... }
end

パラメーター:

  • name_or_defn シンボル | string | ハッシュ)_

    定義するインデックスの名前、またはインデックス定義。

  • 定義 ハッシュ (デフォルトはnil

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



147
148
149
150
151
152
153
# ファイル 'lib/mongoid/search_indexable.rb' は、 147行

デフォルト search_index(name_or_defn, 定義 = nil)
  name = name_or_defn
  name, 定義 = nil, name 場合 name.is_a?(ハッシュ)

  スペック = { 定義: 定義 }.タップ { |s| s[:name] = name.to_s 場合 name }
  search_index_specs.プッシュ(スペック)
end

検索_インデックスの数(オプション = {})=オブジェクト

現在のモデルのコレクションで使用可能な検索インデックスをクエリするための便利な方法です。

パラメーター:

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

    検索インデックスクエリに渡すオプション。

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

  • :id string

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

  • :name string

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

  • :aggregate ハッシュ

    集計コマンドに渡すハッシュするオプション(任意)



98
99
100
# ファイル 'lib/mongoid/search_indexable.rb' は、 98行

デフォルト search_indexes(options = {})
  コレクション.search_indexes(options)
end

# wait_for_search_indexs (名前、間隔: 5 ){{|SearchIndexable::Status| ... } =オブジェクト

名前付き検索インデックスが作成されるのを待ちます。

パラメーター:

  • name <String>配列未満

    を待機するインデックス名のリスト

  • interval 整数 (デフォルトは5です)

    再度ポーリングするまでに待機する秒数(進行状況コールバックが指定された場合にのみ使用されます)。

結果:



78
79
80
81
82
83
84
85
86
# ファイル 'lib/mongoid/search_indexable.rb' は、 78行

デフォルト wait_for_search_indexs(name, interval: 5)
  ループ 行う
    状態 = ステータス.新着情報(get_indexes(name))
    ノードの数 状態 場合 ブロック_指定
    break 場合 状態.準備はできていますか?

    休止 interval
  end
end