So führen Sie eine Datumsbereichsuche durch

Frage

Ihre Anwendung erfordert möglicherweise eine Suche basierend auf Datumsbereichen, zum Beispiel eine Suche nach allen Knoten, die in den letzten 3 Tagen erstellt wurden.

Wie ist es möglich, eine Datumsbereichsuche durchzuführen?

Antwort

CRX bietet die Möglichkeit, Datumsbereiche mithilfe der xs:dateTime-Zuordnung auszudrücken. Das folgende Beispiel zeigt, wie nach Knoten unter /content/mypage gesucht wird, die zwischen dem 24.04.2009 und 28.04.2009 erstellt wurden:

/jcr:root/content/mypage//*[@jcr:created >= xs:dateTime('2009-04-24T00:00:00.000+02:00') and @jcr:created < xs:dateTime('2009-04-28T00:00:00.000+02:00')] 

Die Lucene-Suchmaschine indiziert das tatsächliche Datum in Millisekunden. Aus diesem Grund ist die Zuordnung mit der Funktion xs:dateTime in der Datumsbereichsuche erforderlich. Die formatierte Zeichenfolge, die an diese Funktion übergeben wird, sollte in der Form erhalten werden, wie im folgenden Codeausschnitt gezeigt:

// obtain javax.jcr.ValueFactory from JCR session ValueFactory factory = session.getValueFactory(); // obtain Calendar object Calendar cal = Calendar.getInstance(); // create javax.jcr.Value object of PropertyType.DATE Value dateValue = factory.createValue(cal); // finally, get string representation of the DATE-value which can be used in xs:dateTime function String dateString = dateValue.getString(); 

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online