Datentypen

Die bisherigen Beispiele zeigen, wie String-Werte hinzugefügt werden. Mindbreeze InApp findet in solchen Eigenschaften automatisch Zahlen. Sie können zum Beispiel die Eigenschaft Version auf 12 setzen und Mindbreeze interpretiert die Zahl darin. Sie können dann z.B. nach Version:12 TO 24 suchen. Diese Funktion erlaubt auch die Verwendung von Version mit dem Wert „Version 12“. Die Einschränkung kann unverändert bleiben.

Zahlen können aber auch als Zahlenwerte angegeben werden. Dadurch kann die Bereichssuche beschleunigt werden und Sie erhalten einen Zahlenwert, wenn Sie das SearchService nutzen. Mit folgendem Beispiel können Sie ganze Zahlen indizieren:


indexable.putProperty(NamedValue.newBuilder()
	.setName("version").addValue(
	ValueHelper.newBuilder(12))
);


Damit der Qunatity-Werte durchsucht werden können, muss im CategoryDescriptor für die Metadaten das Attribut regexmatchable auf true gesetzt werden.


<metadatum id="version" regexmatchable="true">
  <name>Version</name>
</metadatum>


Die Suche ist mit version:[12] oder version:[10 TO 20] möglich.

Zusätzlich zu einfachen Zahlenwerten ist es auch möglich Datumswerte:


indexable.putProperty(NamedValue.newBuilder()
	.setName("mydate").addValue(					
ValueHelper.newBuilder(Indexable.getCalendarFromDate(new Date())))
);


Die Suche mydate:[2003-01-01 TO 2023-01-01] schränkt die Resultate anhand mydate zwischen 2003 und 2023 ein.

Genau so schränkt documentsize auf Dateigrößen ein:


indexable.putProperty(NamedValue.newBuilder()
	.setName("documentsize").addValue(
	 ValueHelper.newBuilder(
       QuantityHelper.newBuilder(
       Quantity.Kind.INFORMATION_STORAGE, content.length)))
);