kibana error


elasticsearch match-query
match query
Match Query는 텍스트, 숫자, 날짜 등이 포함된 문장을 형태소 분석을 통해 텀으로 분리한 후 이 텀들을 이용해 검색 질의를 수행
============================================================================
형태소 분석기는 nori를 사용하도록 한다.
1] nori 설치
$ ./elasticsearch-plugin install analysis-nori

설치가 잘 됬는지 확인해보자

2] index mapping 설정
( 왜 인지 모르겠지만 mapping 설정이 자꾸 에러나서 elasticsearch service 내렸다가 다시 올렸다. )

3] 데이터 insert
( 대충 요런 document를 insert 하였다. )

4] MatchQuery 작성
GET sample_2/_search
{
"query": {
"match": {
"col": "LG"
}
}
}

[ 내용 추가 중 ]
결론] match query를 유사도 검색으로 사용하기 위해서는 적절한 형태소 분석기를 동반해서 사용해야 될 것으로 보여진다. 그렇지 않으면 해당 value값과 동일하게 일치되는 형태로 dsl 질의문을 날려야 한다.
'ELK > elasticsearch' 카테고리의 다른 글
elasticsearch term query (0) | 2020.12.22 |
---|---|
3노드 클러스터 엘라스틱서치 ( elasticsearch 3node) (0) | 2020.05.09 |
elasticsearch index mapping 에 관한 생각 (0) | 2020.04.17 |
logstash ruby syntax (0) | 2020.04.14 |
logstash file stdin (0) | 2020.04.14 |
elasticsearch term query
term query
-> 제공된 필드에 정확한 용어가 포함 된 문서를 반환합니다.
-> 검색어라는 용어를 사용하여 가격, 제품 ID 또는 사용자 이름과 같은 정확한 값을 기반으로 문서를 찾을 수 있습니다.
핵심은 정확하게 해당 field의 value값과 일치하여야 hit될 수 있다로 결론 지을 수 있다.
============================================================================
그럼 간단한 예제로 확인해보자
++++++++++++++++++++++++++++++++++++++++++++
sample 데이터
POST sample_index/_doc
{
"col1": "삼성전자"
}
POST sample_index/_doc
{
"col1": "LG전자"
}
++++++++++++++++++++++++++++++++++++++++++++
다음과 같이 쿼리를 날려보자
GET sample_index/_search
{
"query": {
"term": {
"col1.keyword": {
"value": "LG"
}
}
}
}
결과는 일치하는 document가 없다고 나온다.
다음과 같이 쿼리를 날리면
GET sample_index/_search
{
"query": {
"term": {
"col1.keyword": {
"value": "LG전자"
}
}
}
}
hti된 document가 결과로 나온다.

============================================================================
참고 Elasticsearch에서 인덱스 매핑없이 데이터를 insert하여 인덱스를 생성할 경우 string에 해당하는 column은 자동적으로 text와 keyword 타입으로 동시 매핑이 잡히게 된다.

============================================================================
'ELK > elasticsearch' 카테고리의 다른 글
elasticsearch match-query (0) | 2020.12.23 |
---|---|
3노드 클러스터 엘라스틱서치 ( elasticsearch 3node) (0) | 2020.05.09 |
elasticsearch index mapping 에 관한 생각 (0) | 2020.04.17 |
logstash ruby syntax (0) | 2020.04.14 |
logstash file stdin (0) | 2020.04.14 |
event 처리

logstash에서 document의 특정 field 값을 얻기 위해서는 event.get("field-name")을 사용하고
document에 특정 field값을 추가 시키기 위해서는 event.set("new-field-name", value))를 넣어주면 된다.
'ELK > logstash' 카테고리의 다른 글
특정 필드의 값 변경 (0) | 2020.11.30 |
---|---|
logstash ruby 활용법 (0) | 2020.07.07 |
logstash jdbc mssql output (0) | 2020.07.04 |
logstash eve_odd (0) | 2020.06.17 |
logstash file json absolute path (0) | 2020.06.17 |
특정 필드의 값 변경

'ELK > logstash' 카테고리의 다른 글
event 처리 (0) | 2020.12.22 |
---|---|
logstash ruby 활용법 (0) | 2020.07.07 |
logstash jdbc mssql output (0) | 2020.07.04 |
logstash eve_odd (0) | 2020.06.17 |
logstash file json absolute path (0) | 2020.06.17 |
tar.gz 을 만들어보자

import tarfile
import os
target_dir = "/home/user/test"
tar = tarfile.open("./sample.tar.gz", "w:gz")
os.chdir(target_dir)
for f in os.listdir(target_dir):
file_name, extension = os.path.splitext(f)
print(extension)
if extension == ".json":
tar.add(f)
tar.close()
os.listdir : directory 파일 search
os.path.splitext : 파일이름과 파일 확장자를 분리
'언어 > python' 카테고리의 다른 글
# 기초 dictionary (0) | 2020.08.21 |
---|---|
pandas + matplotlib 을 이용하여 tistory 방문 관련 pie 차트 그리기 (0) | 2020.08.04 |
코로나 데이터 수집 (파이썬) (0) | 2020.07.18 |
네이버 python 지식인 답변 (0) | 2020.06.06 |
21대 국회의원 선거 크롤링 (0) | 2020.04.15 |
sql query join에 관해
credential
bigquery 사용중 credential 과 access token 및 refresh token 이 궁금하여 간단하게 정리해보았다.
# 기초 dictionary
`정의:
키 : 값의 쌍의 집합

중요:
키는 고유해야 한다. (중복이 될 수 없다.)
주요 작업:
key와 함께 value 를 저장 -> 데이터 추가

del을 사용하여 "키 : 값" 쌍을 삭제할수 있다.

딕셔너리 정렬
A1) key값을 기준으로 정렬

sorted_dict_data 의 결과는 tuple 형태의 element로 구성된 list가 return 된다.
[('A', 165), ('C', 2), ('K', 1), ('Z', 0)]
이를 다시 dictionary로 변환하기 위한 작업이 아래 코드 이다. sorted_result

A2) value값을 기준으로 정렬


JSON FILE READ
-> 아래코드는 JSON 파일을 READ 하는 코드인데 json.load에 의해 반환되는 변수의 데이터 타입또한 dictionary


'언어 > python' 카테고리의 다른 글
tar.gz 을 만들어보자 (0) | 2020.11.22 |
---|---|
pandas + matplotlib 을 이용하여 tistory 방문 관련 pie 차트 그리기 (0) | 2020.08.04 |
코로나 데이터 수집 (파이썬) (0) | 2020.07.18 |
네이버 python 지식인 답변 (0) | 2020.06.06 |
21대 국회의원 선거 크롤링 (0) | 2020.04.15 |
pandas + matplotlib 을 이용하여 tistory 방문 관련 pie 차트 그리기
수정 중 ( 내용 추가될 예정 - 8월4일 늦은 오후에... )
pandas 에서 수식(예를 들어 sum 과 같은)으로 작성된 셀 값은 nan 으로 처리 된다. (???)
import pandas as pd
from matplotlib import pyplot as plt
excel_file = "./test.xlsx"
data_frame = pd.read_excel(excel_file, sheet_name=0)
result = data_frame[["성별", "방문자수"]]
person = {"남자": 0, "여자": 0}
for x in result.values:
person[x[0]] = person[x[0]] + x[1]
eng_person = {"man": person["남자"], "woman": person["여자"]}
category = [x for x in eng_person.keys()]
data = [eng_person[y] for y in category]
plt.pie(data, labels=category, autopct="%0.1f%%")
plt.show()
[ 엑셀 구조 ]

[ pie chart ]

'언어 > python' 카테고리의 다른 글
tar.gz 을 만들어보자 (0) | 2020.11.22 |
---|---|
# 기초 dictionary (0) | 2020.08.21 |
코로나 데이터 수집 (파이썬) (0) | 2020.07.18 |
네이버 python 지식인 답변 (0) | 2020.06.06 |
21대 국회의원 선거 크롤링 (0) | 2020.04.15 |