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).
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.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48d4c050facea83c3dcce1a771f0e09afbd7c1f1b40601bb1fe110fcda35a4c3 |
|
MD5 | 7e82c537b49b851717ccb47850012f2c |
|
BLAKE2b-256 | a2938cce3e552f6ec98187d6206334d233a7f08b636e8f68c97f05eec9ab9c50 |
Hashes for easierai_elasticsearchlib-1.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b07c9dde914986943312edd0424ec448c8726756b2e301f111e2ec5fa2f1353 |
|
MD5 | baa5c0e04caf114d0719e24155540b3e |
|
BLAKE2b-256 | 08c67089ba9ef9655c25759612a5aa6c89925dced514ca44ef020973f17a6a7e |