Spaces:
Build error
Build error
| import json | |
| import os | |
| from flask import Flask, jsonify, request | |
| from BasicSearchV6 import BasicSearch as BasicSearchV6 | |
| from BasicSearchV5 import BasicSearch as BasicSearchV5 | |
| DATA_PATH = os.environ.get("DATA_PATH", "") | |
| DEFAULT_SEARCH_VERSION = os.environ.get("DEFAULT_SEARCH_VERSION", 5) | |
| search_v6 = BasicSearchV6(doctype='all-docs', data_directory=DATA_PATH) | |
| search_v6.test_everything() | |
| search_v5 = BasicSearchV5(doctype='all-docs', data_directory=DATA_PATH) | |
| search_v5.test_everything() | |
| app = Flask(__name__) | |
| app.config['JSON_AS_ASCII'] = False | |
| def health(): | |
| return jsonify({"status": "ok"}) | |
| def search_route(): | |
| data = request.get_json() | |
| query = data.get('query', '') | |
| top = data.get('top', 10) | |
| version = data.get('version', DEFAULT_SEARCH_VERSION) | |
| if version == 6: | |
| titles, docs, scores = search_v6.search(query, top) | |
| else: | |
| titles, docs, scores = search_v5.search(query, top) | |
| result = [{'title': str(item1), 'text': str(item2), 'relevance': str(item3)} for item1, item2, item3 in zip(titles, docs, scores)] | |
| return jsonify(result) | |
| if __name__ == '__main__': | |
| app.run(debug=False, host='0.0.0.0', port=7860) | |