aboutsummaryrefslogtreecommitdiff
path: root/benchmark/testelasticsearch.py
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/testelasticsearch.py')
-rw-r--r--benchmark/testelasticsearch.py58
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
bgstack15