Untitled
user_3839718
python
2 years ago
1.3 kB
8
Indexable
from chalice import Chalice
from chalicelib.db.es import ES
app = Chalice(app_name='crawler-api')
client = ES(container_es_host="0.0.0.0:9200",
container_es_user="elastic",
container_es_password="password")
@app.route('/')
def index():
return {'hello': 'world'}
@app.route('/search', methods=['GET'])
def search():
query = {"query": {"match_all": {}}}
return client.search(index_name="review", query=query)
@app.route('/search/location', methods=['POST'])
def location():
param = app.current_request.json_body
if "lat" not in param or "lon" not in param or "distance" not in param:
return {"error": "lat, lon, and distance are required"}
query = {"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": param["distance"],
"location": {
"lat": param["lat"],
"lon": param["lon"]
}
}
}
}
}
}
return client.search(index_name="review", query=query)Editor is loading...
Leave a Comment