ipython-elasticsearch
ipython-elasticsearch copied to clipboard
Elasticearch IPython magic
===================== ipython-elasticsearch
:Author: Gilad Raphaelli, http://g.raphaelli.com
Adds %elasticsearch magic.
Examples
.. image:: notebook.png :height: 1009 px :width: 1103 px :scale: 100% :alt: notebook example :align: center :target: Learn%20Elasticsearch%20with%20Jupyter.ipynb
.. code-block:: python
In [1]: %load_ext elasticsearch
In [2]: %%elasticsearch
...: PUT twitter
...: {
...: "mappings": {
...: "tweet": {
...: "properties": {
...: "message": {
...: "type": "string"
...: }
...: }
...: }
...: }
...: }
...:
Out[2]: {'acknowledged': True}
Defaults endpoint http://localhost:9200::
In [3]: %elasticsearch
Using: http://localhost:9200/
Configure endpoint for the whole notebook::
In [4]: %elasticsearch http://my.host.es:1234/
Using: http://my.host.es:1234/
In [5]: %elasticsearch
Using: http://my.host.es:1234/
In [6]: %elasticsearch http://localhost:9200/
Using: http://localhost:9200/
Use a different endpoint for one cell::
In [7]: %%elasticsearch http://my.host.es:1234/
GET /
Out[7]:
{'cluster_name': 'elasticsearch',
'name': 'my.host.es',
'tagline': 'You Know, for Search',
'version': {'build_hash': 'de54438d6af8f9340d50c5c786151783ce7d6be5',
'build_snapshot': False,
'build_timestamp': '2015-10-22T08:09:48Z',
'lucene_version': '5.2.1',
'number': '2.0.0'}}
In [8]: %elasticsearch
Using: http://localhost:9200/
Installing
Install the lastest release with::
pip install ipython-elasticsearch
or clone from https://github.com/graphaelli/ipython-elasticsearch and::
cd ipython-elasticsearch
python setup.py install
Development
https://github.com/graphaelli/ipython-elasticsearch
Todo
- configurables
- default elasticsearch endpoint
- renderjson styles
- appropriate default output in console
- contextual help
Credit
- https://github.com/catherinedevlin/ipython-sql for serving as a template
- http://caldwell.github.io/renderjson/ for the collapsable JSON rendering