Módulo: Mongoid::SearchIndexable::ClassMethods
- Definido en:
- lib/mongoid/search_indexable.rb
Overview
Implementaciones para los métodos de nivel de clase de la característica.
Colapso del resumen del método de instancia
-
#crear_índices_de_búsqueda ⇒ Matriz<String>
Solicitar 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.
-
#remove_search_indexes ⇒ Objeto
Solicitar 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 simples o compuestas proporcionadas.
-
#índices_de_búsqueda(opciones = {}) ⇒ Objeto
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
#crear_índices_de_búsqueda ⇒ Matriz<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 especificaciones del índice de búsqueda.¿vacío? Colección.search_indexes.crear_muchos(especificaciones del índice de búsqueda) end |
#remove_search_index(nombre: nil, id: nil) ⇒ Objeto
Elimina el índice de búsqueda especificado por el nombre o el ID. Se debe indicar el nombre o el 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 ⇒ Objeto
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 dado que este puede no nombrar el índice, no podemos garantizar que conozcamos el nombre o el ID de los índices correspondientes. Sin embargo, es razonable suponer que la intención es que el modelo declare, uno a uno, todos los índices de búsqueda deseados, por lo que eliminarlos debería ser suficiente. Si es necesario eliminar un índice o un conjunto de índices específicos, considere usar search_indexes.each con remove_search_index.
128 129 130 131 132 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 128 def eliminar_índices_de_búsqueda 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 simples o compuestas proporcionadas.
147 148 149 150 151 152 153 |
# Archivo 'lib/mongoid/search_indexable.rb', línea 147 def search_index(nombre_o_defn, definición = nulo) Nombre = nombre_o_defn Nombre, definición = nulo, Nombre Si Nombre.is_a?(Picadillo) especulación = { definición: definición }.grifo { |s| s[:nombre] = Nombre.a_s Si Nombre } especificaciones del índice de búsqueda.Push(especulación) end |
#índices_de_búsqueda(opciones = {}) ⇒ 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(nombres, 5 intervalo:) {|SearchIndexable::Status|... } ⇒ Objeto
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 esperar_a_los_índices_de_búsqueda(nombres, interval: 5) bucle hacer Estado = Estado.Nuevo(get_indexes(nombres)) rendimiento Estado Si ¿bloque_dado? break Si Estado.¿listo? sueño interval end end |