07. 엘라서치 조회해보기2
글한번 썼는데 날라갔다
reindex 사용하기
처음에 502에러는 한 3번정도 마주쳤다
그냥 source에 기존 인덱스, dest에 옮길 인덱스 했는데 502에러가 떴다
첫번째 reindex시도했을 때는 사이즈가 커서 그런가 싶어서size:1000를 해줬는데도 502에러
두번째시도는 mbti_stomi_analysis에는 맵핑이 없어서 그런가 싶었다 원래 인덱스에 bulk하면 자동으로 생성되니까 이번에도 그런줄알고 맵핑을 안했다 그래서 수동으로 데이터 타입들을 넣어줬다 그런데도 502에러
세번째 시도는 wait_for_completion=false를 파라메타로 넣어주니까 0.1초만에 끝났다
POST _reindex?wait_for_completion=false
{
"source": {
"index": "mbti_stomi"
},
"dest": {
"index": "mbti_stomi_analysis"
}
}
1. 명사 추출 -> 명사별 카운트
2. 서술어, 형용사 추출 -> 카운트
input -> intp
output ->
핸드폰 593회
코로나 234회
영화 123회
넷플릭스 80회
등등 탑20 보여주고 싶음
GET mbti_stomi_analysis/_search
{
"size": 0,
"aggs": {
"stomi_agg": {
"terms": {
"field": "contents"
}
}
}
}
terms는 버킷집계중 용어집계로 사용하는 애다
contents필드안에 유니크한 값들을 카운팅하고 싶어서 쿼리를 날려봤다
"reason" : "Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [contents] in order to load field data by uninverting the inverted index. Note that this can use significant memory."
이런 에러가 뜬다
대충 terms는 doc필드에 쓰는게 아니라 키워드 필드에 사용하는거다 라는 내용이다
GET mbti_stomi_analysis/_search
{
"size": 0,
"aggs": {
"stomi_agg": {
"terms": {
"field": "contents.keyword"
}
}
}
}
contents를 그냥 keyword필드로 terms해봤다
#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.16/security-minimal-setup.html to enable security.
{
"took" : 12,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 10000,
"relation" : "gte"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"stomi_agg" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 1218,
"buckets" : [
{
"key" : "0",
"doc_count" : 30
},
{
"key" : "유형별 자주 까먹는 것들! 과연? #INTP문자, 카톡 답장#INTJ친구 생일 매번 까먹음#INFP단어가 생각 안남#INFJ주차한 장소 까먹음#ISTP약속#ISTJ다른 사람의 제안#ISFP노래 제목, 리듬 까먹음#ISFJ알람설정 까먹음#ENTP과제 기억못함#ENTJ빌린물건 돌려주기#ENFP하려고 한 일 까먹음#ENFJ새 옷 태그 떼는 일#ESTP비밀번호 까먹음#ESTJ까먹은 것을 까먹음#ESFP이름과 얼굴#ESFJ했던 말 까먹음",
"doc_count" : 25
},
{
"key" : "#MBTI테스트 #MBTI #무료MBTI#mbti유형별 #mbti테스트 #mbti유형#istj #isfj #infj #intj#istp #isfp #infp #intp#estp #esfp #enfp #entp#estj #esfj #enfj #entjhttp://mbtisaju.cafe24.com/saju/ 무료사주/일일운세 더사주 - MBTI검사현재 테스트 진행 수 : 453082mbtisaju.cafe24.com",
"doc_count" : 24
},
{
"key" : """번뜩! 만두 MBTI 테스트어느날 눈을 떠보니 만두가 되어있었다.. 나는 어떤 만두일까?maisondami.co.kr 저는 김치만두였습니다~김치만두는 "INFP"라고 해요!샤오롱바오와 왕만두 찾아요~ (+ 추가) 만두MBTI샤오롱바오ENFJ새우만두ENFP왕만두ENTJ피자만두ENTP만두강정ESFJ부추만두ESFP당면튀김만두ESTJ납작만두ESTP손만두INFJ김치만두INFP갈비만두INTJ찐만두INTP감자만두ISFJ물만두ISFP군만두ISTJ고기만두ISTP""",
"doc_count" : 23
},
{
"key" : "MBTI 성격유형 검사 & Personal color 퍼스널 컬러 요즘 자신의 성향에 대해 알고 싶은 사람들이 많이 있는 것 같다. 당신의 컬러는? 제노아 INFP선셰이드 ENFP 올리빈 ISFP프롤리 ESFP 마야블루 INTP발렌시아 ENTP 빌로바 플라워 INTJ마리너 ENTJ 게인스보로 ISTJ글레이드그린 ESTJ 보스턴블루 ISTP탄제린 ESTP 혹스블루 INFJ아쿠아마린 ENFJ 그랜디스 ISFJ코스모스 ESFJ",
"doc_count" : 22
},
{
"key" : "estp estj esfj 들의 환장의 콜라보…슈퍼 E들의 시끄러움 대잔치… https://youtu.be/n7gF1xsiFvY ",
"doc_count" : 22
},
{
"key" : "너에게 관심이 있어MBTI 유형별 듣고 싶어 하는 말INFP 난 널 믿어INFJ 난 널 위해 존재해ISTP 너 하기에 달렸어ISTJ 너에게 의지할게ISFP 널 이해해ISFJ 너에게 감사해ENTP 너에게 동의하지 않아ENTJ 널 따를게ENFP 너와 같은 생각이야ENFJ 너와 함께야ESTP 너에게 흥미를 가지고 있어ESTJ 널 경청할게ESFP 널 알고있을게ESFJ 너가 필요해INTJ 널 경외해INTP 널 혼자 둘거야 #MBTI유형별듣고싶어하는말",
"doc_count" : 22
},
{
"key" : "재미로만 보세요~^^ #mbti #엠비티아이 #estp #estj #esfp #esfj #enfp #enfj #entp #entj #istp #istj #isfp #isfj #infp #infj #intp #intj 출처:페이스북 남녀생활백서 유광 입체 검정 예쁜 컬러똑딱핀 딱삔 10개 /대학생 제니 박나래핀 오란다걸 여친선물 ",
"doc_count" : 22
},
{
"key" : "진짜 헷갈리는데 일단 세 명만…지수원이 가장 쉬웠다 esfj 6w5 sx/so 성사 같음.6유형이 맞는 건지…얼핏 봐선 9w8같기도 한데박동이 가장 헷갈림접해보지 않은 유형이라그런가 우리의..지수원.나랑 성이 같다확신의 infp 4w5 sp/so 자사사회적 관심을 위해 열심히 그림를 그리던 수원이…일대일이 3차인 것 같음꽤.. 설효는 istp.9w8 sx/sp 같아 성자 같은데자성과 헷갈리긴함설효네 오빠는 estp 8w9 ㅋㅋㅋ…비슷한 이유가 있음",
"doc_count" : 22
},
{
"key" : " 질문질문에 대한 대답이름초코코코성격차분, 친절밝음견종웰시코기킹 찰스 스파니엘좋아하는 것초콜릿, 갈비, 갈색, 사슴 코코아, 갈비, 황갈색, 양 싫어하는 것포도, 초록색, 하마청포도, 연두색, 얼룩말장래희망담임선생체육선생MBTIESFJ-AESTP-T안 맞는 것 맞는 것 딱 반반..... ",
"doc_count" : 20
}
]
}
}
}
이런 결과가 뜬다
저기서
sum_other_doc_count는 버킷에는 있지만 size때문에 보이지 않는 도큐먼트의 수 라고 한다 1218개나 된다 껄껄
근데 어떻게 이러지..? 저 문장 자체가 유니크한 값이라고 인식이 되는거면 중복 데이터가 아닌가 의심이 된다

중복데이터가 맞았다 같은 url이었다
sql로 like써서 보려니까 진짜 느렸다
근데 어떻게 저게 유니크한 키워드일까
그리고 왜 명사 단위로 안쪼개질까 standard필터를 썼는데 말이지
일단 mbti별로 terms를 해보자
GET mbti_stomi_analysis/_search
{
"size": 0,
"query": {
"term":{
"keyword": "estp"
}
},
"aggs": {
"stomi_agg": {
"terms": {
"field": "contents.keyword"
}
}
}
}
쿼리해석 : keyword가 estp인 것들중 contents필드에서 keyword단위들?로 쪼갠 유니크한 것들을 카운트 시킨다
{
"took" : 4,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 10000,
"relation" : "gte"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"stomi_agg" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 513,
"buckets" : [
{
"key" : "0",
"doc_count" : 20
},
{
"key" : "#MBTI테스트 #MBTI #무료MBTI#mbti유형별 #mbti테스트 #mbti유형#istj #isfj #infj #intj#istp #isfp #infp #intp#estp #esfp #enfp #entp#estj #esfj #enfj #entjhttp://mbtisaju.cafe24.com/saju/ 무료사주/일일운세 더사주 - MBTI검사현재 테스트 진행 수 : 453082mbtisaju.cafe24.com",
"doc_count" : 12
},
{
"key" : "#mbti #estp 안녕하세요 유다즐입니다 !엣팁 짤 보다가너무 웃겨서 주워 왔어요ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이게 너무 웃겼음ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅋㅌㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ",
"doc_count" : 12
},
{
"key" : "2020 ENFP2021 INFP2022 ESTP어쩐지 요즘 성격 더럽더라니",
"doc_count" : 12
},
{
"key" : "ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ진짴ㅋㅋㅋ #estp #mbti #mbti특징 #estp특징",
"doc_count" : 12
},
{
"key" : "매칭 MBTI : ESTP 다른 컬러도 궁금하다면?↓↓ 2022 퍼스널 컬러 테스트 총정리+ MBTI 맞춤!안녕하세요( ˃ᴗ˂ ) 2022년 새로운 퍼스널 컬러 테스트가 나왔습니다 ㅎㅎ 테스트를 못하신 분은 요 밑에...blog.naver.com ",
"doc_count" : 12
},
{
"key" : "전 ESTP인데 진짜 맞는 듯#mbti #mbti특징",
"doc_count" : 12
},
{
"key" : "진짜 헷갈리는데 일단 세 명만…지수원이 가장 쉬웠다 esfj 6w5 sx/so 성사 같음.6유형이 맞는 건지…얼핏 봐선 9w8같기도 한데박동이 가장 헷갈림접해보지 않은 유형이라그런가 우리의..지수원.나랑 성이 같다확신의 infp 4w5 sp/so 자사사회적 관심을 위해 열심히 그림를 그리던 수원이…일대일이 3차인 것 같음꽤.. 설효는 istp.9w8 sx/sp 같아 성자 같은데자성과 헷갈리긴함설효네 오빠는 estp 8w9 ㅋㅋㅋ…비슷한 이유가 있음",
"doc_count" : 12
},
{
"key" : "콩비티아이 테스트내가 콩이라면 나는 어떤 콩?: 콩으로 알아보는 성격유형 테스트kongbiti.netlify.app 기여븐 콩비티아이 ...자유분방콩 ... 맥이는거냐 ....",
"doc_count" : 12
},
{
"key" : """🔥🔥 스압주의 🔥🔥사진 클릭해서 넘기면서 보세요.MBTI 엣팁 ESTP 특성/연애/팩폭댓글모음 / 공감짤 / 밈 모음""",
"doc_count" : 12
}
]
}
}
}
대충 나오긴한다
여기서 나는 유니크한 keyword가 아니라 명사 단위로 쪼개서 다 카운트 시키고싶다
하기전에는 엘라스틱 분석기가 명사단위로 다 쪼개주는 줄 알았느데 조회할때만 쪼개진 명사를 검색할 수 있고
결과 물로 쪼개진 명사를 보는건 안되는 것같다 명사를 결과로 볼라면 어떻게 하면 좋을까,,,? 생각해보니 그건 sql로도 안되는 것같다
버킷집계종류 중에서
terms랑 significant_terms, filter를 살펴보는게 좋을 것같다
1.terms: 필드에 많이 나타나는 용어들을 기준으로 분류하는 것들이다
2.siginificant_terms : terms버킷과 유사하나 모든 값을 대상으로 하지 않고 인덱스 내 전체 문서 대비 현재 검색 조건에서 통계적으로 유의미한 값들을 기준으로 분유한다
3.filters : 각 그룹에 포함시킬 문서의 조건을 직접 지정한다. 이때 조건은 일반적으로 검색에 사용되는 쿼리와 동일하다