summaryrefslogtreecommitdiffstats
path: root/lib/public/FullTextSearch/Model/IndexDocument.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/FullTextSearch/Model/IndexDocument.php')
-rw-r--r--lib/public/FullTextSearch/Model/IndexDocument.php76
1 files changed, 76 insertions, 0 deletions
diff --git a/lib/public/FullTextSearch/Model/IndexDocument.php b/lib/public/FullTextSearch/Model/IndexDocument.php
index a73b702e506..f580a69a063 100644
--- a/lib/public/FullTextSearch/Model/IndexDocument.php
+++ b/lib/public/FullTextSearch/Model/IndexDocument.php
@@ -819,6 +819,82 @@ class IndexDocument implements JsonSerializable {
}
/**
+ * Set some information about the original document that will be available
+ * to the front-end when displaying search result. (as int)
+ * Because this information will not be indexed, this method can also be
+ * used to manage some data while filling the IndexDocument before its
+ * indexing.
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param int $value
+ *
+ * @return IndexDocument
+ */
+ final public function setInfoInt(string $info, int $value): IndexDocument {
+ $this->info[$info] = $value;
+
+ return $this;
+ }
+
+ /**
+ * Get an information about a document. (int)
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param int $default
+ *
+ * @return int
+ */
+ final public function getInfoInt(string $info, int $default = 0): int {
+ if (!key_exists($info, $this->info)) {
+ return $default;
+ }
+
+ return $this->info[$info];
+ }
+
+ /**
+ * Set some information about the original document that will be available
+ * to the front-end when displaying search result. (as bool)
+ * Because this information will not be indexed, this method can also be
+ * used to manage some data while filling the IndexDocument before its
+ * indexing.
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param bool $value
+ *
+ * @return IndexDocument
+ */
+ final public function setInfoBool(string $info, bool $value): IndexDocument {
+ $this->info[$info] = $value;
+
+ return $this;
+ }
+
+ /**
+ * Get an information about a document. (bool)
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param bool $default
+ *
+ * @return bool
+ */
+ final public function getInfoBool(string $info, bool $default = false): bool {
+ if (!key_exists($info, $this->info)) {
+ return $default;
+ }
+
+ return $this->info[$info];
+ }
+
+ /**
* Get all info.
*
* @since 15.0.0