mongo-elasticsearch-py查詢了解下
來自專欄全棧學習
最最最最簡單的mongo-elasticsearch-python查詢的實例
前言
這篇文章真的很基礎,用flask做網路伺服器,python操作mongodb與elasticsearch, 不要問我許可權管理,ip限制,路由藍圖什麼的,這篇文章通通,都沒有,只有純粹的demo及api調用,不多說,上代碼吧
上代碼
from elasticsearch import Elasticsearch import pymongo //導入es,mongodb庫from flask import Flask, jsonifyimport config//配置文件,因人而異es = Elasticsearch(config.ES_HOST, timeout=180)//實例化esclient = pymongo.MongoClient(host=config.MONGO_HOST, port=config.MONGO_PORT)//實例化mongodb = client[config.MONGO_DB]db.authenticate(config.MONGO_AUTH_NAME, config.MONGO_AUTH_PASSWORD)//驗證Mongo,如果需要article = db[article]//具體mongodb的collectiones.indices.delete(index=qb-lagou, ignore=[400, 404])//刪除名為qb-lagou的index//查詢mongodb並映射到es中for item in article.find(): item[aid] = str(item[_id]) item.pop(_id) //具體創建es數據 es.index(index="qb-lagou", doc_type="article", id=item[aid], body=item)//doc_type必填,body為查詢條件,默認為match_alldef search_from_es(doc_type, body=None, index=qb-lagou): if not body: body = {"match_all": {}} res = es.search(index=index, doc_type=doc_type, body={"query": body}) return res[hits][hits]app = Flask(__name__)//查詢mongo的數據@app.route(/mongo)def get_data_by_mongo(): item = article.find_one() item[_id] = str(item[_id]) return jsonify(item)//查詢es的數據@app.route(/es)def get_data_by_es(): return jsonify(search_from_es(article))if __name__ == __main__: app.run()
至於其他的mongo,flask,es的api,那我就只能拋出鏈接了,收下吧
mongodb flask es
結果示例
mongo
es
這是我的github,歡迎大佬們猛戳,不定時更新
推薦閱讀:
※Python10個常見的安全漏洞及解決辦法
※python3機器學習經典實例-第五章構建推薦引擎24
※學習編程需要什麼配置?
※第二篇詳細Python正則表達式操作指南(re使用)
※數據切片,掩碼索引,這個陷阱困擾過你嗎?
TAG:MongoDB | Elasticsearch | Python |