mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 02:13:15 +00:00
PHRAS-483_SHA-UID_master
add index (not analysed) & search on fields "sha256" and "uuid" e.g. : uuid:"4d006e01-bc38-4aac-9a5b-2c90ffe3a8a2" e.g. : sha256:a7f3ec01c4c5efcadc639d494d432006f13b28b9a576afaee4d3b7508c4be074
This commit is contained in:
@@ -28,6 +28,8 @@
|
|||||||
// Rest
|
// Rest
|
||||||
%token database database
|
%token database database
|
||||||
%token collection collection
|
%token collection collection
|
||||||
|
%token sha256 sha256
|
||||||
|
%token uuid uuid
|
||||||
%token type type
|
%token type type
|
||||||
%token id id|recordid
|
%token id id|recordid
|
||||||
%token created_on created_(on|at)
|
%token created_on created_(on|at)
|
||||||
@@ -86,6 +88,8 @@ match_key:
|
|||||||
|
|
||||||
#native_key:
|
#native_key:
|
||||||
<database>
|
<database>
|
||||||
|
| <sha256>
|
||||||
|
| <uuid>
|
||||||
| <collection>
|
| <collection>
|
||||||
| <type>
|
| <type>
|
||||||
| <id>
|
| <id>
|
||||||
@@ -169,6 +173,8 @@ keyword:
|
|||||||
| <or>
|
| <or>
|
||||||
| <database>
|
| <database>
|
||||||
| <collection>
|
| <collection>
|
||||||
|
| <sha256>
|
||||||
|
| <uuid>
|
||||||
| <type>
|
| <type>
|
||||||
| <id>
|
| <id>
|
||||||
| <created_on>
|
| <created_on>
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ class NativeKey implements Key
|
|||||||
{
|
{
|
||||||
const TYPE_DATABASE = 'database';
|
const TYPE_DATABASE = 'database';
|
||||||
const TYPE_COLLECTION = 'collection';
|
const TYPE_COLLECTION = 'collection';
|
||||||
|
const TYPE_SHA256 = 'sha256';
|
||||||
|
const TYPE_UUID = 'uuid';
|
||||||
const TYPE_MEDIA_TYPE = 'media_type';
|
const TYPE_MEDIA_TYPE = 'media_type';
|
||||||
const TYPE_RECORD_IDENTIFIER = 'record_identifier';
|
const TYPE_RECORD_IDENTIFIER = 'record_identifier';
|
||||||
|
|
||||||
@@ -24,6 +26,16 @@ class NativeKey implements Key
|
|||||||
return new self(self::TYPE_COLLECTION, 'collection_name');
|
return new self(self::TYPE_COLLECTION, 'collection_name');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function sha256()
|
||||||
|
{
|
||||||
|
return new self(self::TYPE_SHA256, 'sha256');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function uuid()
|
||||||
|
{
|
||||||
|
return new self(self::TYPE_UUID, 'uuid');
|
||||||
|
}
|
||||||
|
|
||||||
public static function mediaType()
|
public static function mediaType()
|
||||||
{
|
{
|
||||||
return new self(self::TYPE_MEDIA_TYPE, 'type');
|
return new self(self::TYPE_MEDIA_TYPE, 'type');
|
||||||
|
|||||||
@@ -61,8 +61,8 @@ class RecordIndex implements MappingProvider
|
|||||||
// Collection name (still indexed for facets)
|
// Collection name (still indexed for facets)
|
||||||
$mapping->addStringField('collection_name')->disableAnalysis();
|
$mapping->addStringField('collection_name')->disableAnalysis();
|
||||||
|
|
||||||
$mapping->addStringField('uuid')->disableIndexing();
|
$mapping->addStringField('uuid')->disableAnalysis();
|
||||||
$mapping->addStringField('sha256')->disableIndexing();
|
$mapping->addStringField('sha256')->disableAnalysis();
|
||||||
$mapping->addStringField('original_name')->disableIndexing();
|
$mapping->addStringField('original_name')->disableIndexing();
|
||||||
$mapping->addStringField('mime')->disableAnalysis();
|
$mapping->addStringField('mime')->disableAnalysis();
|
||||||
$mapping->addStringField('type')->disableAnalysis();
|
$mapping->addStringField('type')->disableAnalysis();
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ class NodeTypes
|
|||||||
const TOKEN_RAW_STRING = 'raw_quoted';
|
const TOKEN_RAW_STRING = 'raw_quoted';
|
||||||
const TOKEN_DATABASE = 'database';
|
const TOKEN_DATABASE = 'database';
|
||||||
const TOKEN_COLLECTION = 'collection';
|
const TOKEN_COLLECTION = 'collection';
|
||||||
|
const TOKEN_SHA256 = 'sha256';
|
||||||
|
const TOKEN_UUID = 'uuid';
|
||||||
const TOKEN_MEDIA_TYPE = 'type';
|
const TOKEN_MEDIA_TYPE = 'type';
|
||||||
const TOKEN_RECORD_ID = 'id';
|
const TOKEN_RECORD_ID = 'id';
|
||||||
const TOKEN_CREATED_ON = 'created_on';
|
const TOKEN_CREATED_ON = 'created_on';
|
||||||
|
|||||||
@@ -346,6 +346,10 @@ class QueryVisitor implements Visit
|
|||||||
return AST\KeyValue\NativeKey::database();
|
return AST\KeyValue\NativeKey::database();
|
||||||
case NodeTypes::TOKEN_COLLECTION:
|
case NodeTypes::TOKEN_COLLECTION:
|
||||||
return AST\KeyValue\NativeKey::collection();
|
return AST\KeyValue\NativeKey::collection();
|
||||||
|
case NodeTypes::TOKEN_SHA256:
|
||||||
|
return AST\KeyValue\NativeKey::sha256();
|
||||||
|
case NodeTypes::TOKEN_UUID:
|
||||||
|
return AST\KeyValue\NativeKey::uuid();
|
||||||
case NodeTypes::TOKEN_MEDIA_TYPE:
|
case NodeTypes::TOKEN_MEDIA_TYPE:
|
||||||
return AST\KeyValue\NativeKey::mediaType();
|
return AST\KeyValue\NativeKey::mediaType();
|
||||||
case NodeTypes::TOKEN_RECORD_ID:
|
case NodeTypes::TOKEN_RECORD_ID:
|
||||||
|
|||||||
Reference in New Issue
Block a user