Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
fixing issue in addSubTag()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
fix const
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
autoload
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Revert "fixing issue in addSubTag()"
This reverts commit a9ab2ab91b
.
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
syntax
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
tags/v17.0.0beta1
@@ -266,6 +266,7 @@ return array( | |||
'OCP\\FullTextSearch\\Model\\IRunner' => $baseDir . '/lib/public/FullTextSearch/Model/IRunner.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchOption' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchOption.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchRequest' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchRequest.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchRequestSimpleQuery' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchRequestSimpleQuery.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchResult' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchResult.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchTemplate' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchTemplate.php', | |||
'OCP\\FullTextSearch\\Service\\IIndexService' => $baseDir . '/lib/public/FullTextSearch/Service/IIndexService.php', | |||
@@ -926,6 +927,7 @@ return array( | |||
'OC\\FullTextSearch\\Model\\DocumentAccess' => $baseDir . '/lib/private/FullTextSearch/Model/DocumentAccess.php', | |||
'OC\\FullTextSearch\\Model\\IndexDocument' => $baseDir . '/lib/private/FullTextSearch/Model/IndexDocument.php', | |||
'OC\\FullTextSearch\\Model\\SearchOption' => $baseDir . '/lib/private/FullTextSearch/Model/SearchOption.php', | |||
'OC\\FullTextSearch\\Model\\SearchRequestSimpleQuery' => $baseDir . '/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php', | |||
'OC\\FullTextSearch\\Model\\SearchTemplate' => $baseDir . '/lib/private/FullTextSearch/Model/SearchTemplate.php', | |||
'OC\\GlobalScale\\Config' => $baseDir . '/lib/private/GlobalScale/Config.php', | |||
'OC\\Group\\Backend' => $baseDir . '/lib/private/Group/Backend.php', |
@@ -300,6 +300,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c | |||
'OCP\\FullTextSearch\\Model\\IRunner' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/IRunner.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchOption' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchOption.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchRequest' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchRequest.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchRequestSimpleQuery' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchRequestSimpleQuery.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchResult' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchResult.php', | |||
'OCP\\FullTextSearch\\Model\\ISearchTemplate' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchTemplate.php', | |||
'OCP\\FullTextSearch\\Service\\IIndexService' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Service/IIndexService.php', | |||
@@ -960,6 +961,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c | |||
'OC\\FullTextSearch\\Model\\DocumentAccess' => __DIR__ . '/../../..' . '/lib/private/FullTextSearch/Model/DocumentAccess.php', | |||
'OC\\FullTextSearch\\Model\\IndexDocument' => __DIR__ . '/../../..' . '/lib/private/FullTextSearch/Model/IndexDocument.php', | |||
'OC\\FullTextSearch\\Model\\SearchOption' => __DIR__ . '/../../..' . '/lib/private/FullTextSearch/Model/SearchOption.php', | |||
'OC\\FullTextSearch\\Model\\SearchRequestSimpleQuery' => __DIR__ . '/../../..' . '/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php', | |||
'OC\\FullTextSearch\\Model\\SearchTemplate' => __DIR__ . '/../../..' . '/lib/private/FullTextSearch/Model/SearchTemplate.php', | |||
'OC\\GlobalScale\\Config' => __DIR__ . '/../../..' . '/lib/private/GlobalScale/Config.php', | |||
'OC\\Group\\Backend' => __DIR__ . '/../../..' . '/lib/private/Group/Backend.php', |
@@ -0,0 +1,188 @@ | |||
<?php | |||
declare(strict_types=1); | |||
/** | |||
* FullTextSearch - Full text search framework for Nextcloud | |||
* | |||
* This file is licensed under the Affero General Public License version 3 or | |||
* later. See the COPYING file. | |||
* | |||
* @author Maxence Lange <maxence@artificial-owl.com> | |||
* @copyright 2018 | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OC\FullTextSearch\Model; | |||
use JsonSerializable; | |||
use OCP\FullTextSearch\Model\ISearchRequestSimpleQuery; | |||
/** | |||
* @since 17.0.0 | |||
* | |||
* Class SearchRequestSimpleQuery | |||
* | |||
* @package OC\FullTextSearch\Model | |||
*/ | |||
final class SearchRequestSimpleQuery implements ISearchRequestSimpleQuery, JsonSerializable { | |||
/** @var int */ | |||
private $type = 0; | |||
/** @var string */ | |||
private $field = ''; | |||
/** @var array */ | |||
private $values = []; | |||
/** | |||
* SearchRequestQuery constructor. | |||
* | |||
* @param $type | |||
* @param $field | |||
* | |||
* @since 17.0.0 | |||
*/ | |||
public function __construct(string $field, int $type) { | |||
$this->field = $field; | |||
$this->type = $type; | |||
} | |||
/** | |||
* Get the compare type of the query | |||
* | |||
* @return int | |||
* @since 17.0.0 | |||
*/ | |||
public function getType(): int { | |||
return $this->type; | |||
} | |||
/** | |||
* Get the field to apply query | |||
* | |||
* @return string | |||
* @since 17.0.0 | |||
*/ | |||
public function getField(): string { | |||
return $this->field; | |||
} | |||
/** | |||
* Set the field to apply query | |||
* | |||
* @param string $field | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function setField(string $field): ISearchRequestSimpleQuery { | |||
$this->field = $field; | |||
return $this; | |||
} | |||
/** | |||
* Get the value to compare (string) | |||
* | |||
* @return array | |||
* @since 17.0.0 | |||
*/ | |||
public function getValues(): array { | |||
return $this->values; | |||
} | |||
/** | |||
* Add value to compare (string) | |||
* | |||
* @param string $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValue(string $value): ISearchRequestSimpleQuery { | |||
$this->values[] = $value; | |||
return $this; | |||
} | |||
/** | |||
* Add value to compare (int) | |||
* | |||
* @param int $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValueInt(int $value): ISearchRequestSimpleQuery { | |||
$this->values[] = $value; | |||
return $this; | |||
} | |||
/** | |||
* Add value to compare (array) | |||
* | |||
* @param array $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValueArray(array $value): ISearchRequestSimpleQuery { | |||
$this->values[] = $value; | |||
return $this; | |||
} | |||
/** | |||
* Add value to compare (bool) | |||
* | |||
* @param bool $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValueBool(bool $value): ISearchRequestSimpleQuery { | |||
$this->values[] = $value; | |||
return $this; | |||
} | |||
/** | |||
* @return array|mixed | |||
* @since 17.0.0 | |||
*/ | |||
public function jsonSerialize() { | |||
return [ | |||
'type' => $this->getType(), | |||
'field' => $this->getField(), | |||
'values' => $this->getValues() | |||
]; | |||
} | |||
} |
@@ -322,5 +322,25 @@ interface ISearchRequest { | |||
public function getFields(): array; | |||
/** | |||
* Add a MUST search on an extra field | |||
* | |||
* @param ISearchRequestSimpleQuery $query | |||
* | |||
* @return ISearchRequest | |||
* @since 17.0.0 | |||
*/ | |||
public function addSimpleQuery(ISearchRequestSimpleQuery $query): ISearchRequest; | |||
/** | |||
* Get the list of queries on extra field. | |||
* | |||
* @return ISearchRequestSimpleQuery[] | |||
* @since 17.0.0 | |||
*/ | |||
public function getSimpleQueries(): array; | |||
} | |||
@@ -0,0 +1,137 @@ | |||
<?php | |||
declare(strict_types=1); | |||
/** | |||
* FullTextSearch - Full text search framework for Nextcloud | |||
* | |||
* This file is licensed under the Affero General Public License version 3 or | |||
* later. See the COPYING file. | |||
* | |||
* @author Maxence Lange <maxence@artificial-owl.com> | |||
* @copyright 2018 | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OCP\FullTextSearch\Model; | |||
/** | |||
* Interface ISearchRequestSimpleQuery | |||
* | |||
* Add a Query during a Search Request... | |||
* - on a specific field, | |||
* - using a specific value, | |||
* - with a specific comparison | |||
* | |||
* @since 17.0.0 | |||
* | |||
* @package OCP\FullTextSearch\Model | |||
*/ | |||
interface ISearchRequestSimpleQuery { | |||
const COMPARE_TYPE_TEXT = 1; | |||
const COMPARE_TYPE_KEYWORD = 2; | |||
const COMPARE_TYPE_INT_EQ = 3; | |||
const COMPARE_TYPE_INT_GTE = 4; | |||
const COMPARE_TYPE_INT_GT = 5; | |||
const COMPARE_TYPE_INT_LTE = 6; | |||
const COMPARE_TYPE_INT_LT = 7; | |||
const COMPARE_TYPE_BOOL = 8; | |||
const COMPARE_TYPE_ARRAY = 9; | |||
/** | |||
* Get the compare type of the query | |||
* | |||
* @return int | |||
* @since 17.0.0 | |||
*/ | |||
public function getType(): int; | |||
/** | |||
* Get the field to apply query | |||
* | |||
* @return string | |||
* @since 17.0.0 | |||
*/ | |||
public function getField(): string; | |||
/** | |||
* Set the field to apply query | |||
* | |||
* @param string $field | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function setField(string $field): ISearchRequestSimpleQuery; | |||
/** | |||
* Get the all values to compare | |||
* | |||
* @return array | |||
* @since 17.0.0 | |||
*/ | |||
public function getValues(): array; | |||
/** | |||
* Add value to compare (string) | |||
* | |||
* @param string $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValue(string $value): ISearchRequestSimpleQuery; | |||
/** | |||
* Add value to compare (int) | |||
* | |||
* @param int $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValueInt(int $value): ISearchRequestSimpleQuery; | |||
/** | |||
* Add value to compare (array) | |||
* | |||
* @param array $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValueArray(array $value): ISearchRequestSimpleQuery; | |||
/** | |||
* Add value to compare (bool) | |||
* | |||
* @param bool $value | |||
* | |||
* @return ISearchRequestSimpleQuery | |||
* @since 17.0.0 | |||
*/ | |||
public function addValueBool(bool $value): ISearchRequestSimpleQuery; | |||
} | |||