In [34]:
from pprint import pprint
import json
import requests

url = "http://laisky.com:17200"

In [31]:
# 清空 elasticsearch

requests.delete('http://laisky.com:17200/*').json()


Out[31]:
{'acknowledged': True}

In [33]:
# 刷新

requests.post('http://laisky.com:17200/_flush').json()


Out[33]:
{'_shards': {'failed': 0, 'successful': 0, 'total': 0}}

In [35]:
# 初始化 elasticsearch-river-mongodb

q = {
  "type": "mongodb",
  "mongodb": {
    "servers": [
      { "host": "127.0.0.1", "port": 27016 }
    ],
    "db": "blog",
    "collection": "posts",
    "options": { "secondary_read_preference": True },
    "gridfs": False
  },
  "index": {
    "name": "blog",
    "type": "posts"
  }
}

requests.put("http://laisky.com:17200/_river/blog/_meta", data=json.dumps(q)).json()


Out[35]:
{'_id': '_meta',
 '_index': '_river',
 '_type': 'blog',
 '_version': 1,
 'created': True}

In [40]:
# 测试

query = {
    "query": {
        "match": {
            "post_content": 'git'
        }
    }
}
es_q = json.dumps(query)

r = requests.get("http://laisky.com:17200/blog/posts/_search", data=es_q).json()

r
r = r['hits']['hits']
[i['_source']['post_title'] for i in r]


Out[40]:
['Github 简易入门',
 '使用 Git & Gitflow 管理代码开发、发布流程',
 'twip4 搭建 Twitter API',
 '使用 pyenv 管理 Python 的版本']

In [4]:
import tornado
from tornado import httpclient
from tornado.ioloop import IOLoop


IOLoop.run_sync


Out[4]:
<function tornado.ioloop.IOLoop.run_sync>