오라클 데이터베이스에서 TEXT 성격의 데이터를 LIKE 검색할 때 인덱스를 태워서 성능이 잘 나오도록 하고 싶을 경우, 검색엔진을 도입하여 색인 하거나, 도메인 인덱스를 생성하는 방법이 있습니다.
검색엔진은 색인 스케줄이 필요하며, 시스템 관리 포인트가 늘어나는 단점이 있는 반면 검색 성능이 보장되고 형태소분석기 등의 여러 기능들이 포함되어있어 여러 이점이 있습니다
검색엔진 없이도 텍스트 검색을 빠르게 하고싶을 경우 오라클에서 제공하는 도메인 인덱스를 활용하는 방법이 있습니다
도메인 인덱스는 text 데이터 VARCHAR2, CLOB, LONG 타입 칼럼으로 구성되는 데이터를 인덱스를 사용하여 LIKE 검색이 가능하도록 해줍니다
도메인 인덱스를 사용하기 앞서 준비되어야 할 것이 있습니다
1) 도메인 인덱스 패키지 설치
도메인인덱스 패키지는 ctxsys 스키마에 생성되어 있어야 합니다
2) 도메인 인덱스 패키지 사용 권한 부여
도메인인덱스 패키지를 쓸수 있도록 유저에게 ctxapp 사용권한을 부여해야 합니다
기본적으로 도메인인덱스 패키지가 설치되어있지만 설치되지 않았을 경우가 있습니다
이 경우 패키지 설치 스크립트를 찾아서 스크립트로 설치해주어야 합니다
직접 도메인인덱스를 사용 해볼수 있도록 샘플데이터를 아래와 같이 작성하였으니 따라해보시는것도 좋을것 같습니다
샘플데이터는 다음 랭킹뉴스 데이터입니다
/* 샘플 데이터 저장구조 생성*/
create table exer_rank_news
(
news_rank_date varchar2(8)
,news_rank number
,news_title varchar2(4000)
,news_contents long
);
/* 샘플데이터 입력 */
insert into exer_rank_news values('20200124',1,'왼쪽 동체 온전한 상태..잘린 단면에 ''단서'' 있다 MBC','[뉴스데스크] ◀ 앵커 ▶ 33년이라는 긴 세월 동안 바다 밑에서 말 없이 숨죽여 있었지만 이 비행기 동체가 우리에게 해줄 수 있는 말은 많습니다. 앞서 설명드린..' );
insert into exer_rank_news values('20200124',2,'''날치기 기소'' 감찰 예고에 전운..윤석열 겨누나 MBC','[뉴스데스크] ◀ 앵커 ▶ 최강욱 청와대 공직기강 비서관에 대한 검찰의 기소 절차를 두고 논란이 커지고 있습니다. 법무부와 검찰 모두 검찰청 법을 근거로 법무부는..' );
insert into exer_rank_news values('20200124',3,'경찰, 이천 여성 목격자 과잉진압 논란에 "정당한 법집행 방해" 연합뉴스','(이천=연합뉴스) 강영훈 기자 = 식당에서 싸움이 났다는 신고를 받고 출동한 경찰관이 사건 목격자인 40대 여성을 넘어뜨려 수갑을 채우는 동영상이 유튜브를 통해 ..' );
insert into exer_rank_news values('20200124',4,'해열제 먹고 통과..우한서 검역 피해 프랑스 간 중국인 논란 연합뉴스','(서울=연합뉴스) 김서영 기자 = ''우한 폐렴''의 진원지인 중국 우한(武漢)에서 한 중국인 관광객이 해열제를 먹고 공항 검역을 피해 프랑스로 떠난 사실이 뒤늦게 ..' );
insert into exer_rank_news values('20200124',5,'[시시콜콜 What] 대통령이 보낸 명절 선물, 받아보셨나요? 한국일보','역대 대통령ㆍ정당 명절 선물은 선물 통해 정치철학ㆍ취향 짐작 ‘전북 전주의 이강주((梨薑酒), 강원 양양의 한과, 경남 김해의 떡국 떡.’ 민족 최대의 명절인 설..' );
insert into exer_rank_news values('20200124',6,'''성매매 현직 검사'' 조사 불응.."직업이 없다" 거짓말도 JTBC','[앵커] 현직 검사가 오피스텔에서 성매매를 한 혐의로 붙잡혔다는 소식 어제(23일) 전해드렸는데요. 당일은 아프다고 해서 그냥 돌려보내고 다음날 나오라 했는데, ..' );
insert into exer_rank_news values('20200124',7,'아들 가족 온다고 아궁이에 불 지폈는데.. 울산 농가 화재 연합뉴스','(울산=연합뉴스) 허광무 기자 = 24일 오후 1시 5분께 울산시 울주군 청량읍 한 주택에서 불이 났다. 불은 단층 기와집과 가재도구 등을 모두 태워 소방서 추산..' );
insert into exer_rank_news values('20200124',8,'[단독]이성윤, 윤석열 건너 뛰고 추미애 직접 사무보고 채널A','지금부턴 청와대와 법무부, 검찰간부에 포위당한 윤석열 검찰총장 속보 집중 보도해드리겠습니다. 추미애 법무부장관이 임명한 이성윤 서울중앙지검장이 상관인 윤석열 검..' );
insert into exer_rank_news values('20200124',9,'국내 첫 ''우한폐렴'' 환자 폐렴 소견..두번째 확진자 ''사람간 감염''(종합) 뉴시스','[세종=뉴시스] 임재희 기자 = 지난 20일 국내에서 처음으로 ''우한 폐렴''이라 불리는 신종 코로나바이러스 감염증 확진 판정을 받은 환자가 폐렴 소견을 보여 추가..' );
insert into exer_rank_news values('20200124',10,'동체 추정 물체 ''3개'' 더 있다.."전면 재조사해야" MBC','[뉴스데스크] ◀ 앵커 ▶ 오늘은 남아있는 동체를 통해서 우리가 어떤 희망을 가질 수 있는지, 살펴 봤습니다. 이 동체를 직접 촬영하고 돌아온 심병철 기자와 얘기..' );
insert into exer_rank_news values('20200124',11,'아베 "한일 민간교류 적극 뒷받침".."엄격한 수출관리 계속" 연합뉴스','(도쿄=연합뉴스) 박세진 특파원 = 아베 신조(安倍晋三) 일본 총리는 24일 한일 관계 악화로 경색된 양국 간의 인적 왕래를 뒷받침할 정책을 펴겠다면서도 한국의 ..' );
insert into exer_rank_news values('20200124',12,'부동산 시장 큰손으로 떠오른 30대, 서울 아파트 매입 1등 세계일보','연합뉴스 지난해 서울 아파트 매매 시장은 30대가 가장 큰 손이었던 것으로 나타났다. 청약 가점제 확대로 당첨이 어려워진 이른바 30대 청약 포기자들이 기존 매..' );
insert into exer_rank_news values('20200124',13,'서지현 "법무부 배치 희망적"..임은정 "유임 좀 아쉽다"(종합) 뉴시스','[서울=뉴시스] 강진아 기자 = 임은정 울산지검 중요경제범죄조사단 부장검사가 검찰 중간 간부 인사에서 감찰직에 공모했지만 불발됐다고 밝혔다. 법무부는 전날 발표한..' );
insert into exer_rank_news values('20200124',14,'이노공 성남지청장 사의..서울중앙지검 첫 女차장 출신 뉴시스','[서울=뉴시스] 강진아 기자 = 서울중앙지검 첫 여성 차장검사로 이름을 올렸던 이노공(51·사법연수원 26기) 성남지청장이 사의를 표명했다. 검찰 중간 간부 인사..' );
insert into exer_rank_news values('20200124',15,'''리버풀 데뷔'' 미나미노, 25세 미모 女배우와 열애설.."방해 안 되길" 에스티엔','[STN스포츠(런던)영국=이형주 특파원] 미나미노 타쿠미(25)의 열애설이 나왔다. 리버풀 FC는 24일(한국시간) 영국 울버햄튼에 위치한 몰리뉴에서 열린 201..' );
insert into exer_rank_news values('20200124',16,'''향발무''에 반한 스페인 왕비..피투르 관광박람회 한국관 장사진 연합뉴스','(서울=연합뉴스) 이웅 기자 = "공연이 매우 독특하고 아름답습니다." 22일(현지시간) 스페인 마드리드에서 개최된 ''스페인 피투르 국제관광박람회(FITUR 20..' );
insert into exer_rank_news values('20200124',17,'다급한 中 "10일 내 병원 지어라"..''사스''처럼 대응? MBC','[뉴스데스크] ◀ 앵커 ▶ 이렇게 확진자가 갈 수록 늘어나자, 중국 정부는 다급하게 확산을 막기 위한 총력전을 벌이고 있습니다. 대규모 임시 병원을 열흘 안에 짓..' );
insert into exer_rank_news values('20200124',18,'토트넘, 인터밀란과 에릭센 260억에 이적 합의 스포티비뉴스','[스포티비뉴스=박주성 기자] 토트넘 홋스퍼가 인터밀란과 합의했다. 이탈리아 언론 ‘sempreinter’는 “토트넘 홋스퍼가 인터밀란의 제안을 수락했다”고 속보로..' );
insert into exer_rank_news values('20200124',19,'설 앞두고 덮친 화마..남편 살리고 숨진 70대 아내 SBS','<앵커> 설을 앞두고 자녀들을 기다리던 70대 노부부 집에 불이 났습니다. 주거용 컨테이너에 불이 붙은 건데 아내가 남편을 먼저 대피시킨 뒤 화재 신고를 하다가 ..' );
insert into exer_rank_news values('20200124',20,'''TV는사랑을싣고'' 첫사랑 찾는 김희선→최지우 과거 영상 공개 "저 눈 높죠?" 뉴스엔','[뉴스엔 지연주 기자] ‘TV는 사랑을 싣고’를 통해 첫사랑을 찾았던 배우 전도연, 하지원, 김현주, 김희선, 최지우, 공유와 개그맨 유재석, 전 축구선수 안정환..' );
insert into exer_rank_news values('20200124',21,'''결승 위의 3·4위전'' 우즈벡 vs 호주..올림픽 티켓 두고 혈투 예고 뉴스1','(방콕(태국)=뉴스1) 정재민 기자 = 결승보다 치열한 혈투가 예상된다. 아시아 지역 올림픽 최종예선을 겸하는 아시아축구연맹(AFC) 23세 이하(U-23) 챔피..' );
insert into exer_rank_news values('20200124',22,'장윤정, 유소년부에 쓴소리 "6살 아들 키우는 입장, 엄마로서 냉정한 평가" 뉴스엔','[뉴스엔 황혜진 기자] 가수 장윤정이 ''미스터트롯'' 유소년부에 애정어린 쓴소리를 건넸다. 1월 24일 방송된 TV CHOSUN ''설날엔 미스터트롯''에서 ''미스터트..' );
insert into exer_rank_news values('20200124',23,'봉준호 "''기생충'' 美드라마, 6시간 분량"..''가사도우미 이정은'' 분량↑[공식] OSEN','[OSEN=김보라 기자] 봉준호 감독이 영화 ‘기생충’을 미국 드라마로 제작하는 것과 관련, “6시간 짜리 분량으로 생각하고 있다”고 밝혀 관심을 모으고 있다. ..' );
insert into exer_rank_news values('20200124',24,'하이패스 ''급 끼어들기'' 사고, 운전자 만의 문제일까? SBS','<앵커> 고속도로 요금소 진입로에는 하이패스 차선과 일반 차선이 섞여 있지요, 복잡하기도 하고 무엇보다 갑자기 차선을 변경하는 차들이 많아서 사고가 자주 일어나는..' );
insert into exer_rank_news values('20200124',25,'민주당 "윤석열 사단, ''조직'' 아닌 ''사람''에 충성할 뿐" 뉴스1','(서울=뉴스1) 정연주 기자 = 더불어민주당은 24일 "''조직''에 충성한다는 윤석열 사단은 ''사람''에 충성할 뿐"이라며 "검찰개혁은 여전히 흔들릴 수 없는 국민의..' );
insert into exer_rank_news values('20200124',26,'두번째 우한폐렴 환자 ''상하이 경유''..보건당국 대응체계 비상 연합뉴스','(서울=연합뉴스) 강애란 기자 = 국내 ''우한 폐렴'' 두번째 환자가 중국 우한시에서 상하이를 경유해 입국한 것으로 파악되면서 보건당국 대응체계에도 비상이 걸렸다...' );
insert into exer_rank_news values('20200124',27,'北, 국방부 업무보고에 "9·19 남북 군사합의 파기 행위" 뉴시스','[서울=뉴시스] 박대로 기자 = 북한이 24일 우리 국방부의 신년 업무보고 내용을 문제 삼으며 9·19 남북 군사합의 파기 행위라고 주장했다. 대외선전매체 ''우리..' );
insert into exer_rank_news values('20200124',28,'''엑시트'' 백종원, 아들+딸에 "소유진 노래 안 듣는게 나아" 독설[결정적장면] 뉴스엔','[뉴스엔 박아름 기자] 백종원이 아내 소유진에게 일침을 가했다. 1월24일 방송된 KBS 2TV 설 특집 예능 ‘음치는 없다 엑시트(이하 엑시트)’에는 소유진 남..' );
insert into exer_rank_news values('20200124',29,'''TV는 사랑을 싣고'' 이영애, 7호실 언니 재회에 ''눈물 펑펑'' MK스포츠','매경닷컴 MK스포츠 손진아 기자 ‘TV는 사랑을 싣고’ 이영애가 7호실 언니와의 재회에 눈물을 흘렸다. 24일 오후 방송된 KBS1 설특집 ‘TV는 사랑을 싣고’..' );
insert into exer_rank_news values('20200124',30,'우한 폐렴, 마스크 쓰면 막는다? 바이러스 전문가들 의견보니.. 서울신문','[서울신문 나우뉴스]바이러스가 유행하면 가장 먼저 떠오르는 이미지는 마스크를 쓴 사람들의 모습이다. 감염을 막기 위해 마스크를 착용한 모습은 세계 여러 나라에서,..' );
insert into exer_rank_news values('20200124',31,'온가족 눈 건강 자가진단 해볼까 매일경제','설 연휴기간에는 오랜만에 가족들이 모두 모이는 날이다. 반가운 가족들이 만나 이야기꽃을 피우는 자리에서 자칫 소홀히 할 수 있는 온 가족의 눈 건강을 체크해 보면..' );
insert into exer_rank_news values('20200124',32,'[단독] 솟아있는 수직날개 형체 ''분명''.."블랙박스 있을 듯" MBC','[뉴스데스크] ◀ 앵커 ▶ 여러분, 안녕하십니까. MBC가 단독 촬영한 KAL 858기 추정 동체 관련 보도, 오늘도 머릿기사로 이어갑니다. 비행기의 왼쪽 면에서..' );
insert into exer_rank_news values('20200124',33,'윤정수 "29살 ''TV는사랑을싣고'' 출연, 49살까지 결혼 못할 줄 몰라" 뉴스엔','[뉴스엔 지연주 기자] 개그맨 윤정수가 과거 ‘TV는 사랑을 싣고’ 출연 당시를 회상했다. 1월 24일 방송된 KBS 1TV ‘TV는 사랑을 싣고’에서는 역대 스..' );
insert into exer_rank_news values('20200124',34,'임대 연장 약속 "그런 적 없어"..고소당한 홍문종 대표 JTBC','[앵커] 홍문종 우리공화당 공동대표가 2년 전 빌려준 땅 때문에 고소를 당했습니다. 이 땅을 빌린 사업가는 3억이 넘는 돈을 들여 ''자동차극장''을 만들었는데, 홍..' );
insert into exer_rank_news values('20200124',35,'류현진 나이에 8000만 달러? 도날드슨과 달라 TOR 담당기자 스포티비뉴스','[스포티비뉴스=김태우 기자] 조쉬 도날드슨(35)은 미네소타와 4년 보장 총액 9200만 달러에 계약했다. 2018년 토론토를 떠나 클리블랜드와 애틀랜타를 거쳤던..' );
insert into exer_rank_news values('20200124',36,'가속 없이도 시속 80km 속도..부산 ''공포의 내리막길'' JTBC','[앵커] 가속 폐달을 밟지 않아도 시속 80㎞ 가까이 속도가 붙는 ''급경사 도로''가 부산에 있습니다. 법적으로는 아무 문제가 없는 도로라지만 ''마의 도로''로 불릴..' );
insert into exer_rank_news values('20200124',37,'광주 어린이 보호구역서 7살 아이 차에 치여 중상 연합뉴스','(광주=연합뉴스) 손상원 기자 = 광주 북부경찰서는 24일 어린이 보호구역에서 어린이를 차로 치어 다치게 한 혐의(특정범죄 가중 처벌 등에 관한 법률 위반)로 A..' );
insert into exer_rank_news values('20200124',38,'''멋진 뿔 덕분''..사슴 한 마리 경매서 ''3억 원''에 낙찰 YTN','사슴 한 마리가 뉴질랜드 경매에서 39만 뉴질랜드 달러(약 3억 원)에 팔렸다. 뉴질랜드 매체 스터프는 24일 와이카토 지역 사슴 경매에서 3살 번식용 수사슴 한..' );
insert into exer_rank_news values('20200124',39,'[단독]육군 52사단, 예비군 훈련장에 폐기물 ''무단 투기'' 채널A','육군 52사단이 건축 폐기물을 무단 투기한 사실이 확인돼 경찰이 수사에 나섰습니다. 개발제한 구역으로 묶인 훈련장 신축 부지에 각종 쓰레기를 불법 매립한 것입니다..' );
insert into exer_rank_news values('20200124',40,'새해 건강 3대 체크포인트 챙기세요 매일경제','새해를 맞이해 건강 관련 계획을 세우다 보면 매년 똑같은 질병만 챙기는 실수를 하기 쉽다. 하지만 나이별, 성별, 가족력에 따라 그동안 크게 관심을 두지 않았던 ..' );
insert into exer_rank_news values('20200124',41,'성전환 군인 위한, ''변희수法'' 생겼다 머니투데이','군 간부가 심신장애 때문에 강제 전역되는 일을 막기 위한 규정이 새로 생겼다. 군 복무 중 여성으로 성 전환 수술을 한 뒤 전역한, 변희수 하사 사례를 계기로 만..' );
insert into exer_rank_news values('20200124',42,'소비자가 봉이냐..설 앞둔 마트는 ''포장 전쟁'' 조선일보','대형마트 ‘No 테이프·끈’ 제도 시행 첫 설 소비자들은 여전히 ‘우왕좌왕’ "취지는 공감하지만, 왜 소비자가 피해보나" 전문가들 "대체품이나 인센티브 제도 필요..' );
insert into exer_rank_news values('20200124',43,'10년만에 연휴 이틀 쉬는줄 알았는데..뿔난 마트 노동자, 왜? 한겨레','서울의 한 대형마트에서 일하는 박아무개(54)씨는 마트 노동자 생활 10년 만에 찾아온 ‘황금찬스’를 꿈꾸며 이번 설 연휴를 손꼽아 기다렸다. 손님이 적어 최소인..' );
insert into exer_rank_news values('20200124',44,'사우디 "이란, 정상 국가 대접받고 싶으면 그렇게 행동해야" 뉴시스','[서울=뉴시스] 남빛나라 기자 = 아딜 주비르 사우디아라비아 외교 담당 국무장관이 이란은 사우디와 대화 전 태도를 바꿔야 한다고 경고했다. 수니파 맹주 사우디는 ..' );
insert into exer_rank_news values('20200124',45,'설 전날 어린이보호구역서 뺑소니 사고..7세 여아 중상(종합) 뉴스1','(광주=뉴스1) 허단비 기자 = 설 전날 어린이보호구역에서 발생한 뺑소니 사고로 7세 여아가 의식불명 상태에 빠진 가운데 경찰이 사고를 낸 40대 남성에게 ''민식..' );
insert into exer_rank_news values('20200124',46,'16세 고프, 호주오픈 디펜딩 챔피언 오사카 제압 ''대이변''(종합) 연합뉴스','만 15세 9개월인 코리 고프(67위·미국)가 호주오픈 테니스대회(총상금 7천100만호주달러·약 570억원) 여자 단식 ''디펜딩 챔피언'' 오사카 나오미(4위·일..' );
insert into exer_rank_news values('20200124',47,'''방콕''하긴 아까운 설 연휴.. 오감을 깨워줄 무대가 가득 조선일보','문밖으로 한 걸음만 떼면 씹고 뜯고 맛보고 즐길 수 있는 공연 거리가 수두룩하다. 시간 없다고, 멀다고 혹은 귀찮다고 평소 흘려버린 무대가 있다면 설 연휴는 최고..' );
insert into exer_rank_news values('20200124',48,'민주당 "하위 20% 명단 허위 유포자, 법적 조치할 것" 뉴스1','(서울=뉴스1) 정연주 기자 = 더불어민주당은 24일 "제20대 국회의원 하위 20% 평가 명단 관련 허위사실 유포자에 법적 대응을 하겠다"고 경고했다. 민주당은..' );
insert into exer_rank_news values('20200124',49,'''해투4'' 정준하 "꼬치구이집 4개 운영 중, 연예인 수입이 훨씬 좋다"..''반 은퇴'' 부인(종합) OSEN','[OSEN=최나영 기자] 개그맨 정준하가 4년 만에 KBS2 예능프로그램 ''해피투게더4''에 출연해 입담을 뽐냈다. 그는 ''반 은퇴설''을 부인하며 근황을 밝혔다. ..' );
insert into exer_rank_news values('20200124',50,'中 ''우한폐렴'' 확진자 875명·사망자 26명.."새 병원 건립 중" 뉴스1','(서울=뉴스1) 이창규 기자 = 신종 코로나바이러스로 인한 ''우한폐렴''이 급속도로 확산되고 있는 가운데 확진자만 875명이 이르렀고 사망자도 26명으로 급증했다...' );
COMMIT;
조회문에 뉴스 제목과 뉴스 내용에 키워드 '우한' 이 포함된것을 like 구문으로 검색해보면
LONG 타입 칼럼은 일반적인 LIKE 구문을 사용할 수 없어 아래와 같은 오류가 발생합니다
/* 키워드 검색 뉴스제목 , 뉴스내용 중 우한 키워드 포함*/
select * from exer_rank_news
where 1=1
AND (news_title LIKE '%우한%'
OR news_contents LIKE '%우한%')
ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 LONG임
00932. 00000 - "inconsistent datatypes: expected %s got %s"
LONG 타입 칼럼에는 일반적인 인덱스도 생성할 수 없습니다
/* long타입 칼럼에 일반 인덱스 생성*/
create index i_exer_rank_news_d2 on exer_rank_news(news_contents);
ORA-00997: LONG 데이터 유형은 사용할 수 없습니다
00997. 00000 - "illegal use of LONG datatype"
도메인 인덱스를 생성해줍니다. 일반적인 인덱스 생성 구문 뒤에 indextype is ctxsys.context 가 붙습니다
뉴스제목과 뉴스 내용에 대해 생성해줍니다
/* 도메인 인덱스 생성
varchar2, long, clob 타입에 생성 가능 */
create index i_exer_rank_news_d1 on exer_rank_news(news_title)
indextype is ctxsys.context;
create index i_exer_rank_news_d2 on exer_rank_news(news_contents)
indextype is ctxsys.context;
도메인 인덱스가 만들어지면 contains 함수를 사용하여 like 검색을 할 수 있습니다
* contain(칼럼, pattern) 의 형태입니다
키워드가 포함되어있으면 0보다 큰 값이 리턴되므로 아래와같은 형식으로 사용합니다
/* 도메인 인덱스 생성 후
contains 함수를 사용하여 like 검색 */
select * from exer_rank_news
where 1=1 and (
contains(news_title,'%우한%') >0
or contains (news_contents,'%우한%') >0
)
아래와 같이 제목과 내용에 우한이 포함되어있는 결과를 출력합니다
실행계획을 보면 table full scan이 아닌 인덱스 스캔을 하고있습니다
위 샘플데이터가 50개라서 큰 성능 향상을 체감하기는 어렵지만
데이터가 많아진다면 인덱스 스캔이 진가를 발휘합니다
contains 패턴에 and, or 연산도 가능합니다
and는 '&' 사용하고
or는 '|' 를 사용합니다
아래는 패턴 사용과 미사용 두개이며 결과는 동일합니다
패턴 미사용의 경우 일반 LIKE 구문의 나열식 구조이며
패턴 사용은 패턴 구문안에 모두 포현하는 구조입니다
패턴사용의 경우가 구문이 단순해지므로 사용에 강점이 있습니다
/* 키워드 : 우한 and 해열제 (패턴 미사용) */
select * from exer_rank_news
where 1=1 and (
(contains(news_title,'%우한%') >0 and contains(news_title,'%해열제%') >0 )
or (contains (news_contents,'%우한% & %해열제%') >0 and contains (news_contents,'%해열제%') >0)
)
/* 키워드 : 우한 and 해열제 ( 패턴사용) */
select * from exer_rank_news
where 1=1 and (
contains(news_title,'%우한% & %해열제%') >0
or contains (news_contents,'%우한% & %해열제%') >0
)
키워드 : 우한과 and 해열제 결과입니다
/* 키워드 : 우한 or 해열제 */
select * from exer_rank_news
where contains(news_title,'%우한% | %해열제%') >0
or contains (news_contents,'%우한% | %해열제%') >0
키워드 : 우한 or 해열제 결과입니다
도메인 인덱스를 생성하면 여러가지 오브젝트가 아래와 같이 생성됩니다
위애서 생성한 뉴스 내용에 생성된 도메인 인덱스 중
DR$I_EXER_RANK_NEWS_D2$I를 조회해보면
형태소별로 데이터가 분리된 것을 볼 수 있습니다
오브젝트 관리할 때 도메인 인덱스에 어떤 오브젝트가 생성되는지 모르는 경우
필요없는것이라고 판단하고 삭제하는 경우 contains 구문을 사용할 수 없게됩니다
도메인 인덱스를 구성하는 오브젝트를 한개 지웠을 경우 아래와 같은 오류가 발생합니다
drop table DR$I_EXER_RANK_NEWS_D2$I;
/* 키워드 : 우한 or 해열제 */
select * from exer_rank_news
where contains(news_title,'%우한% | %해열제%') >0
or contains (news_contents,'%우한% | %해열제%') >0
ORA-29902: ODCIIndexStart() 루틴을 수행시 오류가 생겼습니다
ORA-20000: Oracle Text error:
DRG-00100: internal error, arguments : [50935],[drpn.c],[1077],[],[]
DRG-00100: internal error, arguments : [50935],[drpnw.c],[613],[],[]
DRG-00100: internal error, arguments : [51002],[drwa.c],[594],[],[]
DRG-00100: internal error, arguments : [51028],[drwaw.c],[302],[0],[%우한%]
DRG-00100: internal error, arguments : [50401],[dreb.c],[1108],[],[]
ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
29902. 00000 - "error in executing ODCIIndexStart() routine"
*Cause: The execution of ODCIIndexStart routine caused an error.
*Action: Examine the error messages produced by the indextype code and
take appropriate action.
이 경우 인덱스 구성이 완전하지 않으므로 인덱스를 지우고 다시 만들어주면 됩니다
drop index i_exer_rank_news_d2 ;
create index i_exer_rank_news_d2 on exer_rank_news(news_contents)
indextype is ctxsys.context;
이상으로 포스팅을 마칩니다
'DB활용' 카테고리의 다른 글
[오라클 계층구조] 게시판 댓글&대댓글 구현 (3) | 2020.01.15 |
---|---|
[오라클 그룹쿼리] GROUP BY GROUPING SETS 활용하기 (0) | 2020.01.09 |
[오라클 함수활용] TO_CHAR로 백분률 변환하기 (0) | 2020.01.08 |
[오라클 계층형구조] 행정표준코드(기관) 조직 목록 계층구조 활용 2 (0) | 2020.01.07 |
[오라클 계층형구조] 행정표준코드(기관) 조직 목록 계층구조 활용 1 (0) | 2020.01.01 |
댓글