Indexación y búsqueda¶
El sistema de almacenamiento Rapido (souper) soporta la indexación.
Cualquier elemento de bloque se puede indexar agregando una configuración index_type
en su definición YAML.
El ajuste index_type
puede tener dos valores posibles:
field
: estos índices coinciden con los valores exactos y admiten consultas de comparación, consultas de rangos y clasificación.text
: dicho índice corresponde a palabras contenidas (aplicable sólo a valores de texto).
Las consultas utilizan el formato (CQE format).
Ejemplo (asumiendo que el author
, title
y price
son índices existentes):
context.app.search(
"author == 'Conrad' and 'Lord Jim' in title",
sort_index="price")
Los registros se indexan en el momento en que se guardan. Podemos forzar la reindexión mediante la API de Python:
myrecord.reindex()
También podemos reindexar todos los registros usando el comando URL refresh
:
http://localhost:8080/Plone/@@rapido/<app-id>/refresh?_authenticator=<valid token>
o usando la API REST (ver API REST).