Skip to main content

Aasaanjobs Elasticsearch SDK

Library to handle elasticsearch related transactions in Python (for internal usage in Aasaanjobs)

Requirements

  • Python 3.5 and greater
  • Elasticsearch Python

Installation

Install using pip

pip install ajelastic

Configuration

The AJ Elastic library reads configurations from module path specified in the environment variable AJELASTIC_SETTINGS_MODULE if its a standalone python project, or the DJANGO_SETTINGS_MODULE environment variable if its a Django project.

export AJELASTIC_SETTINGS_MODULE=tests.settings

Example

Below is an example settings module that can be consumed by the library

# Mandatory Settings

# Elasticsearch host and port
ES_HOST = "http://localhost:9200"
# The environment suffix that will be added in the Elasticsearch index names
ES_ENV = "development"              

# Optional Settings

# List of Elasticsearch indices
ES_INDICES = {
    "User": {
        "name": "users",                                # The index name prefix
        "doc_type": "user",                             # Elastic document type
        "data_functions": {                             
            "single": "tests.data:get_user",          # Function to fetch a user; should accept a single ID argument
            "multi": "tests.data:list_users"          # Function to fetch list of users; should accept two arguments; limit and offset
        },
        "mapping_path": "tests/user_mapping.json"    # Path to the JSON mapping of the document structure
    }
}

Commands to Sync Data with Elasticsearch

This library provides the following command line scripts to synchronize/initialize data

aj-es-reindex

This command will reindex the documents from scratch fetching data from the function defined in the data_functions.multi settings of the entity (i.e., withing the ES_INDICES settings).

For eg, the below command will reindex the User entity, fetching data from the list_users function (as specified in the settings) with a batch size of 100, i.e., in a single request 100 users will be index to elasticsearch.

aj-es-reindex User 100

Release files for ajelastic 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ajelastic 1.0.2
File Size Uploaded
ajelastic-1.0.2.tar.gz 7.4 kB Details

Release files / ajelastic-1.0.2.tar.gz

Download URL ajelastic-1.0.2.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
360bbe40419c4f2d417dfcf178b67d88f140610c5234882e7693b86366c5ed0e
BLAKE2b-256 checksum
How to use checksums
47c49549fcc6c2c7d13ef69d2f701c62161e36ba98dd34dfa4976ae0a178eb1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.2 This release

1 release file

1.0.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page