Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

TriviaBox

[TroubleShooting]카우치 베이스 N1QL 안될 경우 본문

Game Development/CouchBase

[TroubleShooting]카우치 베이스 N1QL 안될 경우

곰도리탕 2017. 12. 20. 12:03

[ 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` ON `temp_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!!!!!!!!!!

Comments