muryshev's picture
Update app.py
5531f22 verified
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
@app.route('/health', methods=['GET'])
def health():
return jsonify({"status": "ok"})
@app.route('/search', methods=['POST'])
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)