import csv
csv.field_size_limit(1000000000)
import warnings
warnings.filterwarnings("ignore")
import time
import re
import spacy
import pytextrank
import nltk
nltk.download('punkt')
nltk.download('wordnet')

from nltk.stem.wordnet import WordNetLemmatizer as WNL
from nltk.tokenize import word_tokenize
from operator import itemgetter
from math import sqrt
from flask import Flask, render_template, request
app = Flask(__name__)
from elasticsearch import Elasticsearch
#['テキストA', 'ラベル', 'テキストB', 'ID', 'BoW', '発行元', 'タイトル', '発行日']
#('ID','Publishday', 'Publisher', 'Title', 'TextA', 'TextB', 'BoW', 'Label')
es = Elasticsearch(host = '153.120.135.103', port = 9200, http_auth = ('elastic', 'gui3DhVRfd9F18n30o34'))
f_res = es.search(index = 'securityreports-2020-1202-1500', body = {
    '_source':['TextA', 'Label', 'TextB', 'Publisher', 'Title', 'Publishday'],
    'size':2,
    'query':{'match_all':{}}})
hit_num = f_res['hits']['total']['value']
print(hit_num)
with open('practice.csv', 'w', encoding='UTF-8', errors='ignore', newline='') as f:
    header_present = False
    for doc in f_res['hits']['hits']:
        my_dict = doc['_source']
        if not header_present:
            w = csv.DictWriter(f, my_dict.keys())
            w.writeheader()
            header_present = True
        w.writerow(my_dict)
