ãã¿ã±ã«ã³ãå¿ãカラオケの検索性の弱さを嘆いていたã
ãã·ã¹ãã å±ã®èªåã¯ããããã¨ããã©ããªé¡ããã°ããã®ãããããªãã®é¢¨ãªã·ã¹ãã ãä½ããã¨ãã§ããã ãããã¨ãããã¨ãèããã®ãè·æ¥ç
ãã¨ããããã¯ãä¸æ²»ã®ç
ãªã®ã ãã©ããã®ç
ç¶ãããã«è¨ãã¦ãããã
ãã¼ã¿ãã¼ã¹ãä½ã
ãæ²åãææåãç»é²ãããã¼ã¿ãã¼ã¹ãè¨è¨ããã®ã¯å®¹æããä»é¢¨ã®ã·ã¹ãã ã«ããããã«æ²ã«ã¿ã°ãä»ãããããã«è¨è¨ãããã¨ãã§ãããã¨ã ããããã¼ã«ãã¤ãã¿ã°ã¨ãæ±æ¹ã¿ã°ã¨ããã£ãã便å©ãªããããªããã
ãæè©ãç»é²ã§ããããã«ãããã¨ã容æãããã¨ã10ä¸ä»¶ãã£ãã¨ãã¦ããæè©ã400åç¨åº¦ã ã¨ããã°ãUTF-8ã§æ ¼ç´*1ãã¦ãï¼ä»¶1600byteããã£ãã®160MByteã§ãããä»æã®ãµã¼ããªãä½è£ã§å ¨ãã¼ã¿ãã¡ã¢ãªä¸ã«ãã£ãã·ã¥ã§ããã¬ãã«ã*2
ããã ããæè©ã«ç¹å®ã®è¨èãå«ããã®ãæ¢ããã¨ãã¦ãSQL*3ã§ã®LIKEæ¤ç´¢ã¿ãããªãã¨ããã¦ãé ããã誤æ¤åºãå¤ãã¦ä½¿ãç©ã«ãªããªããã°ã°ã¬ã«ã¹æ代ãçãã¦ããåãã«ã¯ãã£ã¨é«åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ãããªãã¨æºè¶³ã§ããªãããã*4
ããã§ãGoogle製ã§ã¯ãªããã©ããå
¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãããã®ã¯ãããèå³ããã人ã¯wikipediaã®全文検索の項ã§ãåèã«ããããã°ã°ããæè¡ã¨ãã¦ã¯å²ã¨ç¢ºç«ããã¦ãã¦ãããªã¼ã®å
¨ææ¤ç´¢ã¨ã³ã¸ã³ãå¤ã
ããã詳ãã話ã¯å²æãããã©ãããã¤ãå
¥ããã°ç¸å¿ã«æ¤ç´¢ãã§ããããã«ãªãã*5
赤å¤ç·ãæ±ãã端æ«ããããããªãã
ããã³ã¢ã¯ã®ãããªå°ç¨ç«¯æ«ãããªãã¦ããæºå¸¯é»è©±ã§èµ¤å¤ç·éä¿¡ãã¦ãªã¢ã³ã³ã®ä»£ããã«ã§ãããããªããï¼
ãããã¦ã³ã¤ãã¯éä¿¡æ©å¨ãå ¼ãã¦ããâ¦ãã¤ã³ã¿ã¼ãããä¸ã§ã«ã©ãªã±æ¤ç´¢ãµã¼ãã¹ãæä¾ãã¦ããã¦ããããã¯ã¼ã¯ã使ã£ã¦æºå¸¯é»è©±ã§æä½ããã£ã¦ã·ããªãªã ãã¤ã¾ããã¡ã¼ã«ã¼ãã«ã©ãªã±åºãæ¤ç´¢ã¨ã³ã¸ã³ãä½ã£ã¦ãããªãã¦ããåãã§ä½ã£ã¡ãããã¨ã£ã¦ã§ãããããã¨ãã話ã
ããªããã°ä½ãã°ãããããªãããããããã°ã©ãã®åè¨èã
ããã¯ã¯èä½æ¨©
ãæè©ãã®ãã®ãåºåãããããªãµã¼ãã¹ãããªãã®ã§ãæ¤ç´¢ãã¦ç¹å®ã®èªãå«ã¾ãã¦ããæ²ãæ¢ãåºããµã¼ãã¹èªä½ã¯èä½æ¨©çã«ã¯åé¡ã«ã¯ãªããªããèä½ç©ãæ¤ç´¢ãã権å©ã¿ãããªãã®ã¯ãªãããã§ããã®ç¹ã¯ã»ã¼ãã ã
ããã ããè¨å¤§ãªæè©ãã¼ã¿ãã©ããã£ã¦ç»é²ããã®ï¼ã¨ããåé¡ããã£ã¦ãwikipediaå¼ã«ã¿ããªã®æã¡å¯ãã§ç»é²ãç·¨éã§ããããã«ããã¨ãããªããç»é²ç·¨éç»é¢ã§ã¯æè©ã表示ããããå¾ãªãããã®é¨åãèä½æ¨©çã«æªãããã¾ããã¡ã¼ã«ã¼ããããªãããã®è¾ºã®æ¨©å©ã®å¯¾å¦ãã§ãããã ãããã©ãã
GAEã¨ã
ãGAE(Google App Engine)ã§ãµã¼ãã¹æä¾ããã®ããããããããªãããã¾ãGAEã¯Google製ã ãã©å ¨ææ¤ç´¢æ©è½ããªããããªã®ã§ãã¡ãã£ã¨æ®å¿µã ãã©ã
ãåããGoogleãæãããAndroidæºå¸¯ã§ã¯ã©ã¤ã¢ã³ã端æ«ãåãããã«ãããé¢ç½ããããããªããã
ã§ãä½ãã®ï¼
ãä½ãã¾ããã
ãä¼æ¥ããããããã·ã¹ãã è¨è¨ãã¦ããã¨è¨ããããä»äºã¨ãã¦è«ãããã©ããè·æ¥ç ã¨ãã¦ãããããã·ã¹ãã æ§æã ã£ããâã¿ãããªãã¨ã¯æ¥å¸¸çã«èãã¦ã¦ããããæ¸ããªãã£ã¦ããã ããã ããããã¾ãããæ°ããªãããã®ãã¿ããã£ã¦ã¿ããã¨ãã人ã¯å¥½ãã«å®è£ ããã°ããã¨æããããã¿ãã±ãã£ãã¨ãè¨ããªãããããããèªåã§ä½ãæ°ã®ãªããã¿ã¯ãèãã¦ä½ã£ã¦ã¿ããã¨æã人ããã¦ãå®ç¨åãããèªåã使ãã¦ã©ããã¼ãããã«èãã¦ããã
ãæªãè¨ãã°ãå± é å±ã§éçã®ç£ç£ã«æå¥ã¤ãã¦ä¿ºãªãããããã¨ããæ¿æ²»å®¶ã«æå¥ä»ãã¦ä¿ºãªãããããã¨ãè¨ã£ã¦ã人ã¨åãããããã ããæåã«è·æ¥ç ã ã£ã¦è¨ã£ããããªããã
*1:æ¥æ¬èªã¯é常3byteã ããä¸é¨ã®æåã4byteã«ãªããUnicodeã¯21bitãªã®ã§UTF-8å½¢å¼ã§ãæ大4byteã§æ¸ãã
*2:æ¥åã·ã¹ãã ã ã¨ååä½ã®ãã¼ã¿ã¨ãããã¨æ®éã«ããã人åããã¨ã¦ãç¡çãªãã¨ãæ©ä¼ãããã¨ãã£ã¨ããéã ããâ¦
*3:SQLã¨ããã®ã¯ãã¼ã¿ãã¼ã¹ãæä½ããããã®ãã種ã®ããã°ã©ã è¨èª
*4:ã·ã½ã¼ã©ã¹ï¼é¡èªï¼æ¤ç´¢ã¨ãããã£ã¦ãããªãã¨è¡¨è¨ã®ãã¬ã§ã¿ã¤ãããªãï¼ãªãã¦ãã¨ã«ãªããã
*5:å人çã«ã¯ãããããæ¥åã·ã¹ãã ãå ¨ææ¤ç´¢ã¨ã³ã¸ã³å ¥ãã¦å½ããåã®æ代ãæ¥ã¦ãããããã ã¨æããã ãã©â¦ã