【问题标题】:Pass JSON response of REST API as input data into APACHE SOLR将 REST API 的 JSON 响应作为输入数据传递到 APACHE SOLR
【发布时间】:2019-01-23 15:33:30
【问题描述】:
我有一个使用 Flask 构建的 REST API。它有 GET 和 POST 方法。 API 返回 JSON 响应。我希望 SOLR 使用 REST API 的 URL 根据查询对此响应执行搜索并返回相关的搜索结果。
我怎样才能做到这一点? SOLR 是否仅将 JSON file 作为输入,在这种情况下,我需要将端点的响应写入 JSON 文件,将其放在示例文件夹中并将其传递给 SOLR?
【问题讨论】:
标签:
python
json
apache
api
solr
【解决方案2】:
谢谢阿米特!在您共享的链接中,它具有 curl 命令。但我试图用 Python 做到这一点。我找到了解决方案!奇迹般有效。我还嵌入了 cmets 以供进一步解释。
@app.route('/solrInput', methods = ['POST'])
def solr_input():
"""Get response data from MongoDB RESTAPI and feed into SOLR for indexing"""
#get mongoDB data from rest api
input_data = requests.get('http://127.0.0.1:5000/getAllRecords')
json_data = input_data.json()
#loop through response to fetch the values
for key, val in json_data.items():
payload = str(val)
response = requests.post("http://localhost:8983/solr/techs/update/json/docs?commit=true", data=payload)
if __name__ == "__main__":
app.run(debug=True)