An easy-to-use Elasticsearch BM25 interface
Project description
Easy Elasticsearch
This repository contains a high-level encapsulation for using Elasticsearch with python in just a few lines.
Installation
Via pip:
pip install easy-elasticsearch
Via git repo:
git clone https://github.com/kwang2049/easy-elasticsearch
pip install -e .
Usage
To utilize the elasticsearch service, one can either start an ES service manually and then indicate the host and port_http (please refere to download_and_run.sh); or leave host=None by default to start a docker container itself. Finally, just either call its rank or score function for retrieval or calculating BM25 scores.
from easy_elasticsearch import ElasticSearchBM25
pool = {
'id1': 'What is Python? Is it a programming language',
'id2': 'Which Python version is the best?',
'id3': 'Using easy-elasticsearch in Python is really convenient!'
}
bm25 = ElasticSearchBM25(pool, port_http='9222', port_tcp='9333') # By default, when `host=None`, a ES docker container will be started at localhost.
query = "What is Python?"
rank = bm25.query(query, topk=10) # topk should be <= 10000
scores = bm25.score(query, document_ids=['id2', 'id3'])
print(query, rank, scores)
bm25.delete_index() # delete the one-trial index named 'one_trial'
bm25.delete_container() # remove the docker container'
Another example for retrieving Quora questions can be found in example/quora.py:
python -m easy_elasticsearch.examples.quora
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easy-elasticsearch-0.0.6.tar.gz.
File metadata
- Download URL: easy-elasticsearch-0.0.6.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54d1f8166faecddffd50e3d8b87f226b41535a3f9d2747756eb8233e95b5826d
|
|
| MD5 |
25ad38f021669675f401264fe95d95ae
|
|
| BLAKE2b-256 |
987c058d2ee95377a11da12cbad2bf6324d85f30ed959854e2f1df35a61b1a20
|
File details
Details for the file easy_elasticsearch-0.0.6-py3-none-any.whl.
File metadata
- Download URL: easy_elasticsearch-0.0.6-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57daa71cf7cc4039b239813a6dcc1e34e28342cf8b22a5c1ac2e6903a49ef4e2
|
|
| MD5 |
82f20be645217886d715b5c3ba2ad385
|
|
| BLAKE2b-256 |
998c947c79007e41893fedce01968eab0012852ff97dc5fc887c260050f4660f
|