mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +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:
@@ -8,6 +8,8 @@ class NativeKey implements Key
|
||||
{
|
||||
const TYPE_DATABASE = 'database';
|
||||
const TYPE_COLLECTION = 'collection';
|
||||
const TYPE_SHA256 = 'sha256';
|
||||
const TYPE_UUID = 'uuid';
|
||||
const TYPE_MEDIA_TYPE = 'media_type';
|
||||
const TYPE_RECORD_IDENTIFIER = 'record_identifier';
|
||||
|
||||
@@ -24,6 +26,16 @@ class NativeKey implements Key
|
||||
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()
|
||||
{
|
||||
return new self(self::TYPE_MEDIA_TYPE, 'type');
|
||||
|
@@ -61,8 +61,8 @@ class RecordIndex implements MappingProvider
|
||||
// Collection name (still indexed for facets)
|
||||
$mapping->addStringField('collection_name')->disableAnalysis();
|
||||
|
||||
$mapping->addStringField('uuid')->disableIndexing();
|
||||
$mapping->addStringField('sha256')->disableIndexing();
|
||||
$mapping->addStringField('uuid')->disableAnalysis();
|
||||
$mapping->addStringField('sha256')->disableAnalysis();
|
||||
$mapping->addStringField('original_name')->disableIndexing();
|
||||
$mapping->addStringField('mime')->disableAnalysis();
|
||||
$mapping->addStringField('type')->disableAnalysis();
|
||||
|
@@ -34,6 +34,8 @@ class NodeTypes
|
||||
const TOKEN_RAW_STRING = 'raw_quoted';
|
||||
const TOKEN_DATABASE = 'database';
|
||||
const TOKEN_COLLECTION = 'collection';
|
||||
const TOKEN_SHA256 = 'sha256';
|
||||
const TOKEN_UUID = 'uuid';
|
||||
const TOKEN_MEDIA_TYPE = 'type';
|
||||
const TOKEN_RECORD_ID = 'id';
|
||||
const TOKEN_CREATED_ON = 'created_on';
|
||||
|
@@ -346,6 +346,10 @@ class QueryVisitor implements Visit
|
||||
return AST\KeyValue\NativeKey::database();
|
||||
case NodeTypes::TOKEN_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:
|
||||
return AST\KeyValue\NativeKey::mediaType();
|
||||
case NodeTypes::TOKEN_RECORD_ID:
|
||||
|
Reference in New Issue
Block a user