def search(**request): project = request['project'] res = {} if project not in data_handlers: return 'No such project', 404 else: # start search either using index or regex dh = data_handlers[project] if project in index_map: res = ri.query_index(request['q'], request['limit'], request['html'], dir=index_map[project]) elif dh.config['etc']['regex_search']: res = dh.regex_search(request['q'], request['limit'], request['html']) return {'request': request, 'res': res}
def search_words(): """ Defines API ``/api/search_words`` to access search index :'limit=': number of results :'query=': the query string :'html=': should the call return html formatted results :'data_set=': data set ID :return: list({'index': ..., 'text': ... }...) see :func:`lstmdata.read_index.query_index` """ options = request.args limit = float(options.get('limit', 100)) query = options.get('query', "---") html = options.get('html', False) data_set = request.args.get("data_set") res = [] data_set_key = data_set if data_set_key in index_map: res = ri.query_index(query, limit, html, dir=index_map[data_set_key]) return json.dumps(res)