Symfoware

Symfowareについての考察blog

Elasticsearch 1.4にPythonから接続する

Debian 7にElasticsearchをインストールしてみました。
Elasticsearch 1.4をDebian 7にインストールする

Pythonから接続して、データを登録してみます。



Python Elasticsearch Client



こちらを参考にしました。
Python Elasticsearch Client

クライアントはUbuntu 14.04にインストールしています。


$ sudo easy_install Elasticsearch




あっさりインストール出来ました。





登録サンプル



参考サイトのままですが、登録サンプルはこんな感じになりました。


  1. # -*- coding:utf-8 -*-
  2. from datetime import datetime
  3. from elasticsearch import Elasticsearch
  4. # コネクション確率
  5. es = Elasticsearch(host='192.168.1.103', port=9200)
  6. # 登録用のデータ
  7. doc = {
  8.     'author': 'kimchy',
  9.     'text': 'Elasticsearch: cool. bonsai cool.',
  10.     'timestamp': datetime(2010, 10, 10, 10, 10, 10)
  11. }
  12. # RDB風にいうと、「test-index」データベースの「tweet」テーブルにデータを入れる
  13. res = es.index(index="test-index", doc_type='tweet', id=1, body=doc)
  14. # True:新規作成 False:上書き
  15. print 'created', res['created']
  16. print '-' * 10
  17. # idを指定してデータを検索
  18. res = es.get(index="test-index", doc_type='tweet', id=1)
  19. print '_source', res['_source']
  20. print '-' * 10
  21. es.indices.refresh(index="test-index")
  22. # ドキュメント全体を検索
  23. res = es.search(index="test-index", body={"query": {"match_all": {}}})
  24. print("Got %d Hits:" % res['hits']['total'])
  25. # 取得したデータを表示
  26. for hit in res['hits']['hits']:
  27.     print("%(timestamp)s %(author)s: %(text)s" % hit["_source"])




実行してみます。



$ python sample.py
created True
----------
_source {u'text': u'Elasticsearch: cool. bonsai cool.', u'author': u'kimchy', u'timestamp': u'2010-10-10T10:10:10'}
----------
Got 1 Hits:
2010-10-10T10:10:10 kimchy: Elasticsearch: cool. bonsai cool.





ちゃんと登録された模様。

505_01.png





indexの削除



テスト時は適当なインデックスを乱立させるかと思います。
消すには、indices.deleteを実行。


  1. # -*- coding:utf-8 -*-
  2. from elasticsearch import Elasticsearch
  3. # コネクション確率
  4. es = Elasticsearch(host='192.168.1.103', port=9200)
  5. # サンプルで作成したインデックスを削除
  6. es.indices.delete(index="test-index")

関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/11/08(土) 17:04:37|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Elasticsearch + Pythonでバルクインサート(helpers.bulk) | ホーム | Elasticsearch 1.4をDebian 7にインストールする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1541-a8fe9d1a
この記事にトラックバックする(FC2ブログユーザー)