fix: segment search by keyword (#303)
This commit is contained in:
parent
35a2beb195
commit
20899c44ff
@ -78,12 +78,14 @@ class DatasetDocumentSegmentListApi(Resource):
|
|||||||
parser.add_argument('hit_count_gte', type=int,
|
parser.add_argument('hit_count_gte', type=int,
|
||||||
default=None, location='args')
|
default=None, location='args')
|
||||||
parser.add_argument('enabled', type=str, default='all', location='args')
|
parser.add_argument('enabled', type=str, default='all', location='args')
|
||||||
|
parser.add_argument('keyword', type=str, default=None, location='args')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
last_id = args['last_id']
|
last_id = args['last_id']
|
||||||
limit = min(args['limit'], 100)
|
limit = min(args['limit'], 100)
|
||||||
status_list = args['status']
|
status_list = args['status']
|
||||||
hit_count_gte = args['hit_count_gte']
|
hit_count_gte = args['hit_count_gte']
|
||||||
|
keyword = args['keyword']
|
||||||
|
|
||||||
query = DocumentSegment.query.filter(
|
query = DocumentSegment.query.filter(
|
||||||
DocumentSegment.document_id == str(document_id),
|
DocumentSegment.document_id == str(document_id),
|
||||||
@ -104,6 +106,9 @@ class DatasetDocumentSegmentListApi(Resource):
|
|||||||
if hit_count_gte is not None:
|
if hit_count_gte is not None:
|
||||||
query = query.filter(DocumentSegment.hit_count >= hit_count_gte)
|
query = query.filter(DocumentSegment.hit_count >= hit_count_gte)
|
||||||
|
|
||||||
|
if keyword:
|
||||||
|
query = query.where(DocumentSegment.content.ilike(f'%{keyword}%'))
|
||||||
|
|
||||||
if args['enabled'].lower() != 'all':
|
if args['enabled'].lower() != 'all':
|
||||||
if args['enabled'].lower() == 'true':
|
if args['enabled'].lower() == 'true':
|
||||||
query = query.filter(DocumentSegment.enabled == True)
|
query = query.filter(DocumentSegment.enabled == True)
|
||||||
|
Loading…
Reference in New Issue
Block a user