Deal with SQL MATCH better
This commit is contained in:
@@ -1819,13 +1819,25 @@ def sql_where_qry_part(
|
|||||||
for qry in qry_dict_li:
|
for qry in qry_dict_li:
|
||||||
log.debug(qry)
|
log.debug(qry)
|
||||||
if qry.get('type') == '':
|
if qry.get('type') == '':
|
||||||
sql_where_qry_str.append(f'{qry.get("field")} {qry.get("operator")} :{qry.get("field")}')
|
if qry.get("operator") == 'MATCH':
|
||||||
|
# sql_where_qry_str.append(f'{qry.get("field")} {qry.get("operator")} AGAINST(:{qry.get("field")} IN BOOLEAN MODE)')
|
||||||
|
sql_where_qry_str.append(f'AND MATCH( {qry.get("field")} ) AGAINST( :{qry.get("field")} IN BOOLEAN MODE )')
|
||||||
|
else:
|
||||||
|
sql_where_qry_str.append(f'AND {qry.get("field")} {qry.get("operator")} :{qry.get("field")}')
|
||||||
data[qry.get('field')] = qry.get('value')
|
data[qry.get('field')] = qry.get('value')
|
||||||
elif qry.get('type') == 'AND':
|
elif qry.get('type') == 'AND':
|
||||||
sql_where_qry_str.append(f'AND {qry.get("field")} {qry.get("operator")} :{qry.get("field")}')
|
if qry.get("operator") == 'MATCH':
|
||||||
|
# sql_where_qry_str.append(f'AND {qry.get("field")} {qry.get("operator")} AGAINST(:{qry.get("field")} IN BOOLEAN MODE)')
|
||||||
|
sql_where_qry_str.append(f'AND MATCH( {qry.get("field")} ) AGAINST( :{qry.get("field")} IN BOOLEAN MODE )')
|
||||||
|
else:
|
||||||
|
sql_where_qry_str.append(f'AND {qry.get("field")} {qry.get("operator")} :{qry.get("field")}')
|
||||||
data[qry.get('field')] = qry.get('value')
|
data[qry.get('field')] = qry.get('value')
|
||||||
elif qry.get('type') == 'OR':
|
elif qry.get('type') == 'OR':
|
||||||
sql_where_qry_str.append(f'OR {qry.get("field")} {qry.get("operator")} :{qry.get("field")}')
|
if qry.get("operator") == 'MATCH':
|
||||||
|
# sql_where_qry_str.append(f'OR {qry.get("field")} {qry.get("operator")} AGAINST(:{qry.get("field")} IN BOOLEAN MODE)')
|
||||||
|
sql_where_qry_str.append(f'OR MATCH( {qry.get("field")} ) AGAINST( :{qry.get("field")} IN BOOLEAN MODE )')
|
||||||
|
else:
|
||||||
|
sql_where_qry_str.append(f'OR {qry.get("field")} {qry.get("operator")} :{qry.get("field")}')
|
||||||
data[qry.get('field')] = qry.get('value')
|
data[qry.get('field')] = qry.get('value')
|
||||||
else:
|
else:
|
||||||
log.error(f'Unknown query type: {qry.get("type")}')
|
log.error(f'Unknown query type: {qry.get("type")}')
|
||||||
|
|||||||
Reference in New Issue
Block a user