Módulo: Mongoid::SearchIndexable::ClassMethods
- Definido en:
- lib/mongoid/search_indexable.rb
Overview
Implementaciones para los métodos a nivel de clase de la funcionalidad.
Resumen del método de instancia colapsar
-
#create_search_indexes ⇒ arreglo<String>
Solicita la creación de todos los índices de búsqueda registrados.
-
#remove_search_index(nombre: nil, id: nil) ⇒ Objeto
Elimina el índice de búsqueda especificado por el nombre o id dado.
-
#remove_search_indexes ⇒ Objeto
Solicita la eliminación de todos los índices de búsqueda registrados.
-
#search_index(name_or_defn, defn = nil) ⇒ objeto
Agrega una definición de índice para las claves individuales o compuestas proporcionadas.
-
#search_indexes(options = {}) ⇒ Object
Un método conveniente para consultar los índices de búsqueda disponibles en la colección del modelo actual.
-
#wait_for_search_indexes(nombres, 5 intervalo:) {|SearchIndexable::Status|... } ⇒ Objeto
Espera a que se creen los índices de búsqueda nombrados.
Detalles del método de instancia
#create_search_indexes ⇒ Arreglo<String>
Solicitar la creación de todos los índices de búsqueda registrados. Tenga en cuenta que estos índices se crean de forma asíncrona y pueden tardar varios minutos en estar completamente disponibles.
65 66 67 68 69 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 65 def create_search_indexes return si search_index_specs.¿vacío? Colección.search_indexes.create_many(search_index_specs) end |
#remove_search_index(nombre: nil, id: nil) ⇒ Object
Remueve el índice de búsqueda especificado por el nombre o ID dado. Se debe proporcionar un nombre O un ID, pero no ambos.
107 108 109 110 111 112 113 114 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 107 def eliminar_índice_de_búsqueda(nombre: nulo, identificación: nulo) logger.información( "MONGOID: Eliminando el índice de búsqueda'#{name || id} ' " \ "en la colección' #{collection.name} '." ) collection.search_indexes.drop_one(name: name, id: id) end |
#remove_search_indexes ⇒ Object
Sería bueno si esto pudiera eliminar SÓLO los índices de búsqueda
Solicitar la eliminación de todos los índices de búsqueda registrados. Tenga en cuenta que estos índices se eliminan de forma asíncrona y pueden tardar varios minutos en eliminarse por completo.
que se han declarado en el modelo, pero como es posible que el modelo no nombre el índice, no podemos garantizar que sepamos el nombre o el ID de los índices correspondientes. Sin embargo, no es descabellado suponer que la intención es que el modelo declare, uno a uno, todos los índices de búsqueda deseados, por lo que remover todos los índices de búsqueda debería ser suficiente. Si, en cambio, es necesario eliminar un índice o conjunto de índices específicos, considera usar search_indexes.each con remove_search_index.
128 129 130 131 132 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 128 def remove_search_indexes search_indexes.cada hacer |especulación| eliminar_índice_de_búsqueda identificación: especulación['id'] end end |
#índice_de_búsqueda(nombre_o_defn, defn = nil) ⇒ Objeto
Agrega una definición de índice para las claves individuales o compuestas proporcionadas.
147 148 149 150 151 152 153 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 147 def search_index(name_or_defn, defn = nulo) Nombre = name_or_defn Nombre, defn = nulo, Nombre si Nombre.is_a?(Picadillo) especulación = { definición: defn }.tocar { |s| s[nombre] = Nombre.to_s si Nombre } search_index_specs.push(especulación) end |
#search_indexes(options = {}) ⇒ objeto
Un método conveniente para consultar los índices de búsqueda disponibles en la colección del modelo actual.
98 99 100 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 98 def search_indexes( = {}) Colección.search_indexes() end |
#wait_for_search_indexes(names, interval: 5) {|SearchIndexable::Status| ... } ⇒ Object
Espera a que se creen los índices de búsqueda nombrados.
78 79 80 81 82 83 84 85 86 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 78 def wait_for_search_indexes(nombres, interval: 5) bucle hacer Estado = Estado.Nuevo(get_indexes(nombres)) rendimiento Estado si ¿block_given? break si Estado.¿Listo? sueño interval end end |