Bueno, estoy codificando algunos métodos para devolver documentos de Solr que maten un rango de fechas de intervalo. Docs almacenó campos de fecha con formato ISO 8601.Rangos de búsqueda de Solr
¿Alguna idea?
THX
Bueno, estoy codificando algunos métodos para devolver documentos de Solr que maten un rango de fechas de intervalo. Docs almacenó campos de fecha con formato ISO 8601.Rangos de búsqueda de Solr
¿Alguna idea?
THX
Comprobar en el SOLR wiki de algunos documentos y ejemplos:
marca de tiempo: [* ahora]
CreateDate: [1976-03-06T23: 59: 59.999Z A *]
CreateDate: [1995-12-31T23: 59: 59.999Z A 2007-03-06T00: 00: 00Z]
pubdate: [YA-1YE AR/día a NOW/día + 1DIA]
CreateDate: [1976-03-06T23: 59: 59.999Z A 1976-03-06T23: 59: 59.999Z + 1YEAR]
CreateDate: [1976- 03-06T23: 59: 59.999Z/AÑO A 1976-03-06T23: 59: 59.999Z]
Espero que esto ayude, David.
Aquí se encontraría más detalles acerca del rango de consulta
https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser
Algunos exampled
1. Exact Matching: q= modify_date:"2012-07-06T9:23:43Z"
2. Less than: q= modify_date:{* TO 2012-07-06T9:23:43Z }
3. More than: q= modify_date:{ 2012-07-06T9:23:43Z TO *}
4. Less or equal than: modify_date:[* TO 2012-07-06T9:23:43Z]
5. More or equal than: modify_date:[ 2012-07-06T9:23:43Z TO *]
Los corchetes [] indican una consulta rango inclusivo que coincide con los valores incluyendo el límite superior e inferior .
Los corchetes {} indican una consulta de rango exclusivo que coincide con los valores entre los límites superior e inferior, pero excluyendo los límites superiores e inferiores.
Esta respuesta cubre todas las posibilidades, como el uso de llaves para excluir un rango particular que la respuesta aceptada. – palerdot
El ejemplo de Solr usa el tipo de campo TrieDate. Sin embargo, DateRangeField tiene una sintaxis más flexible. Solo puede especificar AAAA-MM o solo YYYY. Consulte ** Formato del intervalo de fechas ** dentro de [Cómo trabajar con la fecha en la guía de referencia] (https://cwiki.apache.org/confluence/display/solr/Working+with+Dates). –
Suponga que su campo en el esquema es tan MODIFIED_DATE continuación, puede aplicar siguiente gama de consultas:
Modified_Date:[2015-04-20T07:49:00Z TO *]
Modified_Date:[2015-04-20T07:49:00Z TO 2015-05-
20T07:33:00Z]
Modified_Date:[2015-04-20T07:49:00Z TO NOW]
Modified_Date:[NOW-7DAY/DAY TO NOW]
Modified_Date:"2015-05-27T10:04:00Z"
Modified_Date:NOW
Modified_Date:NOW/DAY
Modified_Date:NOW/HOUR
Modified_Date:NOW-1YEAR
Modified_Date:NOW-2YEARS
Modified_Date:NOW-3HOURS-30MINUTES
Modified_Date:"2008-07-04T13:45:04Z/DAY"
Modified_Date:[* TO NOW]
Modified_Date://DAY
Modified_Date://HOUR
Modified_Date:[ * 2015-04-20T07:49:00Z ]
Modified_Date:[2015-04-20T07:49:00Z *]
Thx David, saludos desde España – Lici
de qué, si esta respuesta era la solución que estabas buscando, simplemente marque como Aceptado, si no, permítanos (la comunidad) saber qué hay en su camino :) –
Todos los ejemplos de fecha literal usan fecha y hora, ¿es posible trabajar solo con fechas? P.ej. createdate: [1976-03-06 TO 1976-03-09] – kaqqao