mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 14:35:45 +00:00
Merge branch 'text_search' of github.com:LaurentDeMontBlanc/planetmint into text_search
This commit is contained in:
commit
f3a3e13b3e
@ -130,7 +130,7 @@ def get_metadata(connection, transaction_ids: list):
|
|||||||
metadata[0][1] = json.loads(metadata[0][1])
|
metadata[0][1] = json.loads(metadata[0][1])
|
||||||
metadata[0] = tuple(metadata[0])
|
metadata[0] = tuple(metadata[0])
|
||||||
_returned_data.append(metadata)
|
_returned_data.append(metadata)
|
||||||
return _returned_data if len(_returned_data) > 0 else None
|
return _returned_data
|
||||||
|
|
||||||
|
|
||||||
@register_query(TarantoolDBConnection)
|
@register_query(TarantoolDBConnection)
|
||||||
@ -267,33 +267,14 @@ def get_txids_filtered(connection, asset_id: str, operation: str = None,
|
|||||||
|
|
||||||
return tuple([elem[0] for elem in _transactions])
|
return tuple([elem[0] for elem in _transactions])
|
||||||
|
|
||||||
|
|
||||||
# @register_query(TarantoolDB)
|
|
||||||
# def text_search(conn, search, *, language='english', case_sensitive=False,
|
|
||||||
# # TODO review text search in tarantool (maybe, remove)
|
|
||||||
# diacritic_sensitive=False, text_score=False, limit=0, table='assets'):
|
|
||||||
# cursor = conn.run(
|
|
||||||
# conn.collection(table)
|
|
||||||
# .find({'$text': {
|
|
||||||
# '$search': search,
|
|
||||||
# '$language': language,
|
|
||||||
# '$caseSensitive': case_sensitive,
|
|
||||||
# '$diacriticSensitive': diacritic_sensitive}},
|
|
||||||
# {'score': {'$meta': 'textScore'}, '_id': False})
|
|
||||||
# .sort([('score', {'$meta': 'textScore'})])
|
|
||||||
# .limit(limit))
|
|
||||||
#
|
|
||||||
# if text_score:
|
|
||||||
# return cursor
|
|
||||||
#
|
|
||||||
# return (_remove_text_score(obj) for obj in cursor)
|
|
||||||
|
|
||||||
@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)
|
||||||
|
print("TEXT SEARCH FOR: {}".format(search))
|
||||||
res = conn.run(
|
res = conn.run(
|
||||||
conn.space(table).call('indexed_pattern_search', (table, 1, pattern))
|
conn.space(table).call('indexed_pattern_search', (table, 1, pattern))
|
||||||
)
|
)
|
||||||
|
print("TEXT SEARCH RES: {}".format(res))
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def _remove_text_score(asset):
|
def _remove_text_score(asset):
|
||||||
|
|||||||
@ -37,10 +37,10 @@ INDEX_COMMANDS = {
|
|||||||
},
|
},
|
||||||
"assets":
|
"assets":
|
||||||
{
|
{
|
||||||
"secondary": "assets:create_index('secondary', {unique=false,parts={1,'string',2,'string',3,'string'}})",
|
|
||||||
"txid_search": "assets:create_index('txid_search', {type='hash', parts={'tx_id'}})",
|
"txid_search": "assets:create_index('txid_search', {type='hash', parts={'tx_id'}})",
|
||||||
"assetid_search": "assets:create_index('assetid_search', {type='tree',unique=false, parts={'asset_id', 'tx_id'}})",
|
"assetid_search": "assets:create_index('assetid_search', {type='tree',unique=false, parts={'asset_id', 'tx_id'}})",
|
||||||
"only_asset_search": "assets:create_index('only_asset_search', {type='tree', unique=false, parts={'asset_id'}})"
|
"only_asset_search": "assets:create_index('only_asset_search', {type='tree', unique=false, parts={'asset_id'}})",
|
||||||
|
"text_search": "assets:create_index('secondary', {unique=false,parts={1,'string'}})"
|
||||||
},
|
},
|
||||||
"blocks":
|
"blocks":
|
||||||
{
|
{
|
||||||
@ -61,8 +61,8 @@ INDEX_COMMANDS = {
|
|||||||
},
|
},
|
||||||
"meta_data":
|
"meta_data":
|
||||||
{
|
{
|
||||||
"secondary": "meta_datas:create_index('secondary', {unique=false,parts={1,'string',2,'string'}}",
|
"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'}}"
|
||||||
},
|
},
|
||||||
"pre_commits":
|
"pre_commits":
|
||||||
{
|
{
|
||||||
|
|||||||
@ -45,6 +45,9 @@ class MetadataApi(Resource):
|
|||||||
args['table'] = 'meta_data'
|
args['table'] = 'meta_data'
|
||||||
metadata = planet.text_search(**args)
|
metadata = planet.text_search(**args)
|
||||||
|
|
||||||
|
print('########### METADATA API ############')
|
||||||
|
print(metadata)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# This only works with MongoDB as the backend
|
# This only works with MongoDB as the backend
|
||||||
return list(metadata)
|
return list(metadata)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user