diff --git a/ELK/app/main.py b/ELK/app/main.py index 26f0614..1edbc7d 100644 --- a/ELK/app/main.py +++ b/ELK/app/main.py @@ -1,6 +1,6 @@ from fastapi import FastAPI, HTTPException, Query from contextlib import asynccontextmanager -from datetime import datetime +from datetime import datetime, timezone, timedelta from typing import List from app.schema.search_schemas import SearchResponse, LLMToolResponse, Place @@ -78,7 +78,7 @@ async def insert_chatbot_log(log_data: LogRequest): ) log_dict = log_data.dict() - log_dict['createAt'] = datetime.now().isoformat() + log_dict['createAt'] = datetime.now(timezone(timedelta(hours=9))).isoformat() success = elasticsearch_service.insert_chatbot_log(log_dict) if success: diff --git a/ELK/app/services/elasticsearch_service.py b/ELK/app/services/elasticsearch_service.py index 857196f..7688fed 100644 --- a/ELK/app/services/elasticsearch_service.py +++ b/ELK/app/services/elasticsearch_service.py @@ -1,7 +1,7 @@ import pandas as pd from elasticsearch import Elasticsearch from typing import List, Dict, Any, Tuple, Optional -from datetime import datetime, timezone +from datetime import datetime, timezone, timedelta from tqdm import tqdm from concurrent.futures import ProcessPoolExecutor from dotenv import load_dotenv @@ -118,7 +118,7 @@ def search_places(self, query: str, max_results: int = 23, user_id: Optional[str "userId": user_id, "query": query, "placeIds": place_ids, - "timestamp": datetime.now(timezone.utc) + "timestamp": datetime.now(timezone(timedelta(hours=9))).isoformat() } self.insert_search_log(log_data) @@ -222,7 +222,7 @@ def insert_chatbot_log(self, log_data: dict) -> bool: """챗봇 로그 데이터를 Elasticsearch에 삽입""" try: # 문서 ID 생성 (타임스탬프 + userId 조합) - doc_id = f"{log_data['userId']}_{int(datetime.now().timestamp())}" + doc_id = f"{log_data['userId']}_{int(datetime.now(timezone(timedelta(hours=9))).timestamp())}" # Elasticsearch에 문서 삽입 response = self.es.index( @@ -295,7 +295,7 @@ def insert_click_log(self, log_data: dict) -> Tuple[bool, Optional[str]]: """클릭 로그 데이터를 Elasticsearch에 삽입""" try: # 문서 ID 생성 (타임스탬프 + userId + placeId 조합) - doc_id = f"{log_data['userId']}_{log_data['placeId']}_{int(datetime.now().timestamp())}" + doc_id = f"{log_data['userId']}_{log_data['placeId']}_{int(datetime.now(timezone(timedelta(hours=9))).timestamp())}" # Elasticsearch에 문서 삽입 response = self.es.index( @@ -382,7 +382,7 @@ def insert_search_log(self, log_data: dict) -> Tuple[bool, Optional[str]]: """검색 로그 데이터를 Elasticsearch에 삽입""" try: # 문서 ID 생성 (타임스탬프 + userId 조합) - doc_id = f"{log_data['userId']}_{int(datetime.now().timestamp())}" + doc_id = f"{log_data['userId']}_{int(datetime.now(timezone(timedelta(hours=9))).timestamp())}" # Elasticsearch에 문서 삽입 response = self.es.index(