ee
easy-elasticsearch
pypi i easy-elasticsearch
ee

easy-elasticsearch

Using business-level retrieval system (BM25) with Python in just a few lines.

by Kexin Wang

0.0.7 (see all)
pypi i easy-elasticsearch
Readme

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 and port_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 setting service_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

GitHub Stars

18

LAST COMMIT

10mos ago

MAINTAINERS

1

CONTRIBUTORS

3

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
0.0.7
10mos ago
0.0.6
10mos ago
0.0.5
10mos ago
0.0.4
10mos ago
No alternatives found
No tutorials found
Add a tutorial