This library manages the communication between python programs and elasticsearch database
Project description
# Elastic search wrapper for Python
This library allows access to a Elasticsearch from a Python program.
https://pypi.org/project/elasticsearchlib/
## Installation
### Command line This library can be installed with the following command:
` pip3 install elasticsearchlib ` ### Dockerfile
You can add these lines in your Dockerfile to include this library in your image:
` RUN pip3 install elasticsearchlib `
## Uploading to pip
These steps are needed to distribute the library on Pip repository manager:
### Prerequisites
First, these packages must be installed on your Python environment:
Setuptools
Wheel
Twine
Tqdm
` sudo python -m pip install --upgrade pip setuptools wheel sudo python -m pip install tqdm sudo python -m pip install --user --upgrade twine `
### Customization
On the _setup.py_ file, these fields can be customized:
Version: The current version of the build.
### Execution
` python3 setup.py bdist_wheel ` This command will generate a _.whl_ file inside the _dist_ folder of the root of the project. Then, execute the following command to upload this file to PyPi repository:
` python3 -m twine upload dist/* `
## Usage This section will explain the usage of this library.
### Constructor ` Elasticsearchlib() `
### start_connection This function creates the connection to the elasticsearch database, checking if the server is up. Returns True if the database answered correctly. ` def start_connection(self, host, port, request_retries=3, total_retries=9): ` - host: Base IP address for the elasticsearch database. - port: Port where the elasticsearch database is published. - request_retries: number of times a request will be retried before being dropped (defaults to 3). - total_retries: number of consecutive retries before dropping the connection and throwing an Exception (defaults to 9).
### create_index This function checks if an index is already created and, if not, creates it, according to the provided mapping. ` def create_index(self, index, mapping=None): ` - index: Name of the index to create. - mapping: Mapping provided as the template for this index.
### add_to index This function adds a document to the provided index. If the index does not exist, it will be created first. ` def add_to_index(self, index, body, id=''): ` - index: Index where the document will be added. - body: Body for the document. - id: Optional argument for the document id on the database. If not provided, a random one will be created.
### search_last_n_measures This functions allows for the retrieval of the last n measures of one dataset item. ` def search_last_n_measures(self, index, id_dataset, n): ` - index: Index to search in. - id_dataset: Dataset id to retrieve the measures. - n: Number of measures desired.
### scrolled_query This function returns all measures stored in an index, following a query. ` def scrolled_query(self, query, index, filter_path=None): ` - query: Query to use on the request. - index: Index on which to use the query. - filter_path: Filter that can be applied to the request.
### get_entities_ids This function returns all the entity ids stored under an index. ` def get_entities_ids(self, index): ` - index: Index on which to request the ids.
### get_last_document This function returns the last document stored under an index, for a specific device_id. ` def get_last_document(self, index, device_id): ` - index: Index on which to request the document. - device_id: Id of the device to query.
### get_data_history This function returns the data history for a specific device in a period of time. ` def get_data_history(self, index, device_id, gte, lte='now'): ` - index: Index on which to request the data. - device_id: Id of the device to query. - gte: Lower bound for the time period. - lte: Upper bound for the time period (defaults to now).
# Copyright
Copyright (C) 2020 ATOS Spain All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for easierai_elasticsearchlib-1.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53cba4e5445305774bf0b3f8753388decbe015f6e16483a044287e0349162fa1 |
|
MD5 | 265cdd9cb4000d82d95d89f42de2b30a |
|
BLAKE2b-256 | c839e247554fb71a9eedc15910ea3c76b8b3858811423d206a1da44e54c471f6 |
Hashes for easierai_elasticsearchlib-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 577d900adc09fbf4ac1ec6d4a6aad9da000b00a6934bdc89c838ab4e94b74034 |
|
MD5 | 5a6daa354336b78aeacc02fc00b8d7ac |
|
BLAKE2b-256 | a5b6f2d8286ff5736b06df26f859a2c65e1e24fd32f602e2bed8d84b7f3f5133 |