[ TROUBLE ] temp_bucket 이라는 버킷 생성 후 N1QL로 SELECT Query 실행시 에러메세지 발생.
SELECT * FROM
temp_bucket
@ 에러메세지 확인
: No index available on keyspace <<temp_bucket>> that matches your query. Use CREATE INDEX or CREATE PRIMARY INDEX to create an index, or check that your expected index is online
: 해당버킷에 유효한인덱스 없으니 CREATE INDEX or CREATE PRIMARY INDEX 로 인덱스를 만들기. 이미 만들었다면 index가 online(=ready) 상태인지 체크해보아라.
[STEP 1 @ CHECK] index가 있는지 확인.
@ index 가 있어야 할 자리로 보이는데 없음.
[STEP 2 @ SHOOT] 인덱스 생성하기
CREATE PRIMARY INDEX
temp_bucket_primary
ONtemp_bucket
WITH { "defer_build":true }
@ 결과가 { "result" :[] } 면 성공
[STEP 3 @ CHECK] 인덱스 진짜 생성되었나 확인
@ temp_bucket 생성 되었으나 뭔가 혼자만 다른 status가 created 상태.
: 기다린다고 ready가 되지 않고...
: ready로 만들려면 인덱스를 빌드 해줘야 함.
[STEP 4 @ SHOOT] 인덱스 빌드.
- cause: index를 ready 상태로 만들기 위함
BUILD INDEX ON temp_bucket (temp_bucket_primary) USING GSI;
※ 밑에 스샷에 QueryEditor 부분에는 ctrl+c, ctrl+v가 2번 된 걸로 찍혔네...
@ 결과가 { "result" :[] } 면 성공
[STEP 5 @ CHECK] 인덱스가 빌드 되서 ready되었는지 확인.
@ 생성 되어있음
[STEP 6 @ CHECK] N1QL로 SELECT 잘 되는지 확인.
SELECT * FROM
temp_bucket
[STEP 7 @ CHECK] 데이터 좀 넣고 데이타도 잘 리턴하는 확인.
INSERT INTO
temp_bucket
(KEY, VALUE) VALUES ( "Test_key", {"date":1513733943, "name":"http://triviabox.tistory.com"} )
INSERT INTO
temp_bucket
(KEY, VALUE) VALUES ( "Other_key", {"date":15131245670, "name":"Trouble Shoot Finish."} )
@ 잘 되는것 확인.
Trouble Shooting Finish!!!!!!!!!!