search-engine/src/search.py
2023-12-06 08:29:39 +10:30

30 lines
865 B
Python
Executable file

#!/bin/bash
from flask import Flask
from flask import Request
import json
from urllib.parse import unquote
app = Flask(__name__)
## Todo - Boolean search (AND/OR/NOT/"")
@app.route("/search/<query>")
def search(query):
with open('data/index.json', 'r') as index_json:
index = json.load(index_json)
query = unquote(query)
query_split = query.split()
result = []
for q in query_split:
q = q.lower()
if q in index:
for item in index[q]:
matching_results = list(filter(lambda entry: entry['url'] == item["url"], result))
if len(matching_results) == 0:
result.append(item)
else:
matching_results[0]["count"] += item["count"]
return result
def handle_and():
pass