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 select from 3 ways:
- (1) Start an ES service manually and then indicate the
host
andport_http
(please refere to download_and_run.sh); - (2) Or leave
host=None
by default to start a docker container itself; - (3) Or leava
host=None
and settingservice_type=executable
to download an ES executable and start it in the back end.
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` and `mode="docker"`, 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 --mode docker
or
python -m easy_elasticsearch.examples.quora --mode executable
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
Close
Hashes for easy_elasticsearch-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8329e8e92a183f2e8b378a25569e1dfae6763c4c204a11113fb8ddc3aa52b599 |
|
MD5 | 994d8fa26ccfaf76979d81fde5eb083c |
|
BLAKE2b-256 | c9ec992e465f4fdbf5a96de2472bdae2c09faac4c95f2e6475f6c66e9334fff1 |