diff options
Diffstat (limited to 'benchmark/testelasticsearch.py')
-rw-r--r-- | benchmark/testelasticsearch.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/benchmark/testelasticsearch.py b/benchmark/testelasticsearch.py new file mode 100644 index 00000000..7a5d1d5b --- /dev/null +++ b/benchmark/testelasticsearch.py @@ -0,0 +1,58 @@ +#! /usr/bin/env python +#-*- coding: utf-8 -*- + +import elasticsearch +from elasticsearch import client + +from pyaggr3g470r import utils + +# Connect to Elasticsearch node specified in the configuration file: +es = elasticsearch.Elasticsearch(hosts={"127.0.0.1" : 9200}) + +def delete_index(): + """ + Deletes all indexes. + """ + es = elasticsearch.Elasticsearch(hosts={"127.0.0.1" : 9200}) + ic = client.IndicesClient(es.indices.client) + try: + ic.delete("") + except: + pass + +def create_index(articles): + """ + Creates the index. + """ + for article in articles: + res = es.index( + index="pyaggr3g470r", + doc_type="text", + id=str(article.id), + body={ + "title": article.title, + "content": utils.clear_string(article.content) + } + ) + return True + +def search(term): + """ + Search a term. + """ + try: + return es.search(index="pyaggr3g470r", body= + {"query" : { + "filtered" : { + "query" : { + "query_string" : { + "default_field" : "content", + "query" : term + } + } + } + } + }, size=5000) + except elasticsearch.exceptions.NotFoundError as e: + logger.warning(str(e)) + return None
\ No newline at end of file |