fixed pattern search for meta_data

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
Lorenz Herzberger 2022-06-21 15:24:59 +02:00
parent 697befbbda
commit 3376912871
No known key found for this signature in database
GPG Key ID: FA5EE906EB55316A
3 changed files with 3 additions and 3 deletions

View File

@ -262,8 +262,9 @@ def get_txids_filtered(connection, asset_id: str, operation: str = None,
@register_query(TarantoolDBConnection) @register_query(TarantoolDBConnection)
def text_search(conn, search, table='assets', limit=0): def text_search(conn, search, table='assets', limit=0):
pattern = ".{}.".format(search) pattern = ".{}.".format(search)
field_no = 1 if table == 'assets' else 2 # 2 for meta_data
res = conn.run( res = conn.run(
conn.space(table).call('indexed_pattern_search', (table, 1, pattern)) conn.space(table).call('indexed_pattern_search', (table, field_no, pattern))
) )
return res[0] if limit == 0 else res[0][:limit] return res[0] if limit == 0 else res[0][:limit]

View File

@ -62,7 +62,7 @@ INDEX_COMMANDS = {
"meta_data": "meta_data":
{ {
"id_search": "meta_datas:create_index('id_search', { type='hash' , parts={'transaction_id'}})", "id_search": "meta_datas:create_index('id_search', { type='hash' , parts={'transaction_id'}})",
"text_search": "meta_datas:create_index('secondary', {unique=false,parts={2,'string'}}" "text_search": "meta_datas:create_index('secondary', {unique=false,parts={2,'string'}})"
}, },
"pre_commits": "pre_commits":
{ {

View File

@ -46,7 +46,6 @@ class MetadataApi(Resource):
metadata = planet.text_search(**args) metadata = planet.text_search(**args)
try: try:
# This only works with MongoDB as the backend
return list(metadata) return list(metadata)
except OperationError as e: except OperationError as e:
return make_error( return make_error(