Я пытаюсь использовать Elasticsearch из-за получения некоторых значений и частот из локального файла json с python.Файл Json имеет несколько терминов, показанных ниже;
[{"id": "251088", "tweet": "lorem ipsum", "username": "Ahmet"},
{"id": "251059", "tweet": "bla bla bla","username": "Ali", },
...
]
Файл json состоит примерно из 500 тыс. Твитов и информации.
Я стремлюсь ускорить получение частоты терминов с помощьюasticsearch.
import requests, json, os
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
i = 1
f = open("tweets_test.json")
docket_content = f.read()
#print(docket_content)
# only wait for 1 second, regardless of the client's default
es.cluster.health(wait_for_status='yellow', request_timeout=1)
es.index(index='tweets', ignore=[400, 404], doc_type='docket', id=i, body=json.loads(docket_content))
res = es.search(index="tweets", doc_type="docket", body={"query": {"match": {"tweet": "any-word"}}})
print("%d documents found" % res['hits']['total'])
for doc in res['hits']['hits']:
print("%s) %s" % (doc['_id'], doc['_source']['content']))
вывод:
0 documents found
Process finished with exit code 0
- Почему не работает этот код?
- Неправильно ли я использую платформу для получения термина?