mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 22:45:44 +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] = tuple(metadata[0])
|
||||
_returned_data.append(metadata)
|
||||
return _returned_data if len(_returned_data) > 0 else None
|
||||
return _returned_data
|
||||
|
||||
|
||||
@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])
|
||||
|
||||
|
||||
# @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)
|
||||
def text_search(conn, search, table='assets', limit=0):
|
||||
pattern = ".{}.".format(search)
|
||||
print("TEXT SEARCH FOR: {}".format(search))
|
||||
res = conn.run(
|
||||
conn.space(table).call('indexed_pattern_search', (table, 1, pattern))
|
||||
)
|
||||
print("TEXT SEARCH RES: {}".format(res))
|
||||
return res
|
||||
|
||||
def _remove_text_score(asset):
|
||||
|
||||
@ -37,10 +37,10 @@ INDEX_COMMANDS = {
|
||||
},
|
||||
"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'}})",
|
||||
"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":
|
||||
{
|
||||
@ -61,8 +61,8 @@ INDEX_COMMANDS = {
|
||||
},
|
||||
"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":
|
||||
{
|
||||
|
||||
@ -45,6 +45,9 @@ class MetadataApi(Resource):
|
||||
args['table'] = 'meta_data'
|
||||
metadata = planet.text_search(**args)
|
||||
|
||||
print('########### METADATA API ############')
|
||||
print(metadata)
|
||||
|
||||
try:
|
||||
# This only works with MongoDB as the backend
|
||||
return list(metadata)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user