[ 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_primaryONtemp_bucketWITH { "defer_build":true }
@ 결과가 { "result" :[] } 면 성공
[STEP 3 @ CHECK] 인덱스 진짜 생성되었나 확인
기다린다고 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!!!!!!!!!!