-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
32 lines (27 loc) · 802 Bytes
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from flask import Flask, jsonify, request
from flask_cors import CORS
from engine import Engine
from storage import numberOfFiles
app = Flask(__name__)
CORS(app)
#* Initilize the query engine
engine = Engine()
engine.read_data()
engine.index()
engine.compute_tfidf()
@app.route('/api/ping', methods=['GET'])
def ping():
return jsonify({
"number_of_files": numberOfFiles()
})
@app.route('/api/search', methods=['GET'])
def search():
search_term = request.args.get('q') #* get the search term requested
query = " ".join(search_term)
results = engine.rank_retrieve(query)
result_buffer = []
for docId, score in results:
result_buffer.append([engine.titles[docId], score])
return jsonify(result_buffer)
if __name__ == "__main__":
app.run(debug=True)