Módulo: Mongoid::SearchIndexable::ClassMethods
- Definido em:
- lib/mongoid/search_indexable.rb
Visão geral
Implementações para os métodos de nível de classe do recurso.
Recolhimento do Resumo do método de instância
-
#create_search_indexes ➤ Array<String>
Solicitar a criação de todos os índices de pesquisa registrados.
-
#remove_search_index(name: nil, ID: nil) ➤ Object
Remove o índice de pesquisa especificado pelo nome ou ID fornecido.
-
#remove_search_indexes ➤ Objeto
Solicite a remoção de todos os índices de pesquisa registrados.
-
#search_index(name_or_defn, defn = nil) ➤ Objeto
Adiciona uma definição de índice para as chaves únicas ou compostas fornecidas.
-
#search_indexes(opções = {}) ➤ Objeto
Um método de conveniência para consultar os índices de pesquisa disponíveis na coleção do modelo atual.
-
#wait_for_search_indexes(nomes, intervalo: 5) {|SearchIndexable::Status| ... } ➤ Objeto
Aguarde até que os índices de pesquisa nomeados sejam criados.
Detalhes do método de instância
#create_search_indexes ➤ Array<String>
Solicitar a criação de todos os índices de pesquisa registrados. Observe que os índices de pesquisa são criados de forma assíncrona e podem levar alguns minutos para ficarem totalmente disponíveis.
65 66 67 68 69 |
# Arquivo 'lib/mongoid/search_indexable.rb', linha 65 def create_search_indexes Método se search_index_specs.vazio? collection.search_indexes.create_many(search_index_specs) end |
#remove_search_index(name: nil, ID: nil) ➤ Object
Remove o índice de pesquisa especificado pelo nome ou ID fornecido. O nome OU ID deve ser fornecido, mas não ambos.
107 108 109 110 111 112 113 114 |
# Arquivo 'lib/mongoid/search_indexable.rb', linha 107 def remove_search_index(nome: nada, ID: nada) logger.informações( "MONGOID: Removendo o índice de pesquisa '#{nome || ID}' " \ "on collection '#{collection.name}'." ) coleção.search_indexes.drop_one(nome: nome, ID: ID) fim |
#remove_search_indexes ➤ Objeto
Seria bom se isso pudesse remover SOMENTE os índices de pesquisa
Solicite a remoção de todos os índices de pesquisa registrados. Observe que os índices de pesquisa são removidos de forma assíncrona e podem levar alguns minutos para serem totalmente excluídos.
que foram declarados no modelo, mas como o modelo pode não nomear o índice, não podemos garantir que saberemos o nome ou ID dos índices correspondentes. No entanto, não é irracional presumir que a intenção é que o modelo declare, individualmente, todos os índices de pesquisa desejados, portanto, a remoção de todos os índices de pesquisa deve ser suficiente. Se um índice ou conjunto de índices específico precisar ser removido, considere usar search_indexes.each com remove_search_index.
128 129 130 131 132 |
# Arquivo 'lib/mongoid/search_indexable.rb', linha 128 def remove_search_indexes search_indexes.cada fazer |especificações| remove_search_index ID: especificações['ID'] end end |
#search_index(name_or_defn, defn = nil) ➤ Objeto
Adiciona uma definição de índice para as chaves únicas ou compostas fornecidas.
147 148 149 150 151 152 153 |
# Arquivo 'lib/mongoid/search_indexable.rb', linha 147 def search_index(name_or_defn, defn = nada) name = name_or_defn name, defn = nada, name se name.is_a?(Hash) especificações = { definição: defn }.toque { |s| s[:name] = name.to_s se name } search_index_specs.push(especificações) end |
#search_indexes(opções = {}) ➤ Objeto
Um método de conveniência para consultar os índices de pesquisa disponíveis na coleção do modelo atual.
98 99 100 |
# Arquivo 'lib/mongoid/search_indexable.rb', linha 98 def search_indexes( = {}) collection.search_indexes() end |
#wait_for_search_indexes(nomes, intervalo: 5) {|SearchIndexable::Status| ... } ➤ Objeto
Aguarde até que os índices de pesquisa nomeados sejam criados.
78 79 80 81 82 83 84 85 86 |
# Arquivo 'lib/mongoid/search_indexable.rb', linha 78 def wait_for_search_indexes(nomes, interval: 5) loop fazer Status = Status.Novo(get_indexes(nomes)) rendimento Status se block_given? intervalo se Status.pronto? sono interval end end |