# Búsqueda por Fechas

La aplicación permite realizar búsquedas por fecha en cualquier campo que sea del tipo relacionado con fechas. De este modo es posible obtener resultados para un periodo de tiempo concreto. En este tipo de campos se puede buscar por periodos de tiempo relativos a años, meses, semanas, días, horas, minutos o segundos.

Para buscar resultados relativos a un intervalo de fechas específico, puede utilizar los símbolos > (después), = (igual a) y < (antes).

Se puede buscar por año (y), mes (M), semana (w), día (d), hora (h), minuto (m) o segundo (s). Para añadir una hora, escriba +1h en la caja de búsqueda. Para restar un día, escriba -1d.

TIP

Si quiere experimentar con más ejemplos del mundo real, consulte esta lista.

Además de la fecha actual (now), también podemos utilizar una fecha de referencia absoluta que puede ser específica como 2010-01-01. En este campo, debemos utilizar el símbolo || después de la fecha: 2010-01-01||. A continuación, podemos utilizar opcionalmente una o varias expresiones matemáticas, por ejemplo, -1y como en 2010-01-01||-1y, +2M, -4w, etc.

WARNING

Tenga en cuenta que, en todas las consultas de búsqueda basadas en la fecha que incluyan uno o más caracteres especiales, debe insertar una barra invertida - \ - antes de cada una.

Si desea utilizar una fecha de referencia específica en el tiempo, que no sea la fecha actual, puede hacerlo utilizando la búsqueda estructurada siempre que el campo utilizado para la búsqueda acepta una fecha como valor. En este caso, se pedirá al usuario que seleccione una fecha específica en el formato dd-mm-aaaa de un calendario que aparecerá automáticamente al hacer clic con el ratón dentro del campo de búsqueda.

Una forma alternativa de utilizar una fecha de referencia específica en el tiempo consiste en utilizar la búsqueda estruturada:

[fecha_de_inicio TO fecha_de_término] como en [2022-11-10 TO 2022-11-11]. Vea el siguiente ejemplo incluido en el vídeo de abajo:

Si queremos obtener todos los registros cuyo periodo de tiempo corresponda al año/mes/día/etc. actual, basta con insertar una barra lateral - / - y hacer escape de ella - \/ - seguida del carácter correspondiente al periodo de tiempo deseado. Esta operación puede colocarse antes o después de la expresión matemática. Por ejemplo, los registros obtenidos por now\/d-1h serán en principio equivalentes a los obtenidos por now-1h\/d*.

A continuación puede encontrar una explicación más detallada de cómo funcionan las búsquedas por fecha.

Finally, you can also use the following expression: [start_date TO end_date] as in [2022-11-10 TO 2022-11-11]. Click on this link (opens new window) to try it yourself or watch the brief video included below:

ElasticSearch's (the search engine of the CoB platform) range syntax also supports (opens new window) replacing a specific date in time for an asterisk - * - as in [2022-11-10 TO *] (try it here (opens new window)) or [* TO 2022-11-10] (try it here (opens new window)). The inclusion of the asterisk implies that we want to find results for all records starting from the first ever created up to the given end date or starting from the given start date up to the last record created.

# Algunos ejemplos tomados (opens new window) de la documentación de ElasticSearch:

Suponiendo que la fecha actual (now) corresponde a 2001-01-01 12:00:00:000, algunos ejemplos son:

Ejemplo Explicación
now+1h todos los resultados correspondientes a la fecha actual más una hora. Convierte a: 2001-01-01 13:00:00:000
now-1h todos los resultados correspondientes a la fecha actual menos una hora. Convierte a: 2001-01-01 11:00:00:000
now-1h/d todos los resultados correspondientes a la fecha actual menos una hora, registrados a partir de las 00:00 UTC de ese mismo día. Convierte a: 2001-01-01 00:00:00:000
2001-02-01\|\|+1M\/d 2001-02-01 en milisegundos más un mes. Convierte a: 2001-03-01 00:00:00

# Vídeo: ejemplo adicional

Pasos:

  1. En este caso concreto, y en base a los datos que tenemos, realizaremos búsquedas con fechas anteriores al momento actual en 5, 6 y 7 años.
  2. Por ejemplo, si necesitamos todas las instancias relacionadas con datos registrados hasta 5 años antes de la fecha actual, escribimos year - el nombre del campo - seguido de .date para indicar que se trata de un campo de tipo date - referido a una fecha -, y finalmente :<now-5y. La expresión de búsqueda completa será entonces year.date:<now-5y.
  3. Si quisiéramos hacer una búsqueda por resultados programados para los próximos dos años, tendríamos que añadir la fecha actual (now) a 2y: now+2y.

* Es decir, a menos que el horario de verano esté en vigor en la época actual del año.