{"id":268,"date":"2014-01-05T00:16:20","date_gmt":"2014-01-04T15:16:20","guid":{"rendered":"http:\/\/tech.akat.info\/?p=268"},"modified":"2014-09-16T01:13:46","modified_gmt":"2014-09-15T16:13:46","slug":"%e3%80%90tokyo-cabinet%e3%80%91tctmgr%e3%81%a7%e3%81%aeindex%e4%bd%9c%e6%88%90","status":"publish","type":"post","link":"https:\/\/tech.akat.info\/?p=268","title":{"rendered":"\u3010tokyo cabinet\u3011tctmgr\u3067\u306eindex\u4f5c\u6210"},"content":{"rendered":"<h2>\u6982\u8981<\/h2>\n<p>\u30c6\u30fc\u30d6\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u3064\u3044\u3066\u3001\u305d\u308c\u305e\u308c\u306e\u30ab\u30e9\u30e0\u306b\u578b\u306f\u306a\u3044\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u306f\u6570\u5024\u578b\u3068\u6587\u5b57\u5217\u578b\u306e\u578b\u304c\u3042\u308b<br \/>\n\u3082\u3057\u9055\u3063\u305f\u3082\u306e\u3092\u5f35\u3063\u305f\u3068\u3057\u3066\u3082\u3001\u30e1\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u5168\u8868\u30b9\u30ad\u30e3\u30f3\u3067\u306a\u304f\u305d\u308c\u3088\u308a\u306f\u5c0f\u3055\u3044index\u306e\u5168\u8868\u30b9\u30ad\u30e3\u30f3\u3068\u306a\u308b\u305f\u3081\u3001\u8a08\u7b97\u6642\u9593\u306f\u77ed\u304f\u306a\u308b<br \/>\n\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u3063\u305f\u5f8c\u3067\u5f35\u3063\u3066\u3082\u3088\u3044\u3057\u3001\u4e88\u3081\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u5f35\u3063\u3066\u304b\u3089\u30ec\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3088\u3044<br \/>\n\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3068\u30ec\u30b3\u30fc\u30c9\u672c\u4f53\u306f\u81ea\u52d5\u7684\u306b\u540c\u671f\u304c\u3068\u3089\u308c\u308b<br \/>\ntctmgr\u306b\u3066index\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u4ee5\u5916\u306b\u3082\u3001\u3010ttserver &#8220;casket.tct#idx=name:lex&#8221;\u3011\u306a\u3069\u8d77\u52d5\u6642\u306bindex\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b<\/p>\n<h2>index\u4f5c\u6210\u65b9\u6cd5<\/h2>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nroot@akat:\/var\/ttserver# tcttest write casket 10000000 # \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u309210000000\u4ef6\u4f5c\u6210\r\n&lt;Writing Test&gt;\r\n  seed=1484322170  path=casket  rnum=10000000  bnum=-1  apow=-1  fpow=-1  mt=0  opts=0  rcnum=0  lcnum=0  ncnum=0  xmsiz=-1  dfunit=0  iflags=0  omode=0  rnd=0\r\n\r\n......................... (01000000)\r\n......................... (02000000)\r\n......................... (03000000)\r\n......................... (04000000)\r\n......................... (05000000)\r\n......................... (06000000)\r\n......................... (07000000)\r\n......................... (08000000)\r\n......................... (09000000)\r\n......................... (10000000)\r\nrecord number: 10000000\r\nsize: 788001040\r\nsys_utime: 115.811237\r\nsys_stime: 172.390773\r\nsys_size: 85274624\r\nsys_rss: 68235264\r\nsys_total: 1051586560\r\nsys_free: 64442368\r\nsys_cached: 871489536\r\nsys_corenum: 2\r\ntime: 567.029\r\nok\r\n\r\nroot@akat:\/var\/ttserver# tctmgr list -m 10 -pv casket # \u30ec\u30b3\u30fc\u30c9\u3068\u305d\u306e\u5024\u309210\u4ef6\u8868\u793a\r\n1       str     1       num     1       type    8       flag    3,7,11  text    3,7,11\r\n2       str     2       num     1.11    type    4       flag    3,8     text    3,8\r\n3       str     3       num     1       type    25      flag    4,7,10,12       text    4,7,10,12\r\n4       str     4       num     3.95    type    14\r\n5       str     5       num     0.37    type    2       flag    1       text    1\r\n6       str     6       num     3       type    28\r\n7       str     7       num     1       type    29      flag    3       text    3\r\n8       str     8       num     1       type    22      flag    3,7,11,16       text    3,7,11,16\r\n9       str     9       num     8.65    type    2       flag    2       text    2\r\n10      str     10      num     9.00    type    8\r\n\r\nroot@akat:\/var\/ttserver# tctmgr search -m 10 -pv -ph casket str STRBW 98765 # str\u306e98765\u3067\u59cb\u307e\u308b\u30ec\u30b3\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u3002-ph\uff1a\u30d2\u30f3\u30c8\u3092\u8868\u793a\r\n98765   str     98765   num     98654.53        type    21      flag    5,10,11 text    5,10,11\r\n987650  str     987650  num     332393.34       type    5       flag    1,3     text    1,3\r\n987651  str     987651  num     704418  type    4\r\n987652  str     987652  num     216249.03       type    16\r\n987653  str     987653  num     914946.82       type    28\r\n987654  str     987654  num     207197  type    4       flag    1,3     text    1,3\r\n987655  str     987655  num     800664  type    27      flag    5,6     text    5,6\r\n987656  str     987656  num     910914  type    1       flag    4,6,7   text    4,6,7\r\n987657  str     987657  num     122482.63       type    21      flag    3,8     text    3,8\r\n987658  str     987658  num     636826  type    11      flag    1,6,7   text    1,6,7\r\n        :::: scanning the whole table # \u5168\u8868\u30b9\u30ad\u30e3\u30f3\u304c\u5b9f\u65bd\u3055\u308c\u305f\r\n        :::: limited matching: 10\r\n        :::: result set size: 10\r\n        :::: leaving the natural order\r\n        :::: number of records: 10\r\n        :::: elapsed time: 1.34939\r\n\r\nroot@akat:\/var\/ttserver# tctmgr setindex -it lexical casket str # index\u3092\u58ca\u3059\u305f\u3081\u306b\u9014\u4e2d\u3067Ctl+C\r\n^C\r\nroot@akat:\/var\/ttserver# tctmgr search -m 10 -pv -ph casket str STRBW 98765 # index\u304c\u672a\u5b8c\u6210\u306e\u70ba\u3001index\u3092\u5229\u7528\u3057\u305f\u691c\u7d22\u304c\u3067\u304d\u306a\u3044\r\n        :::: using an index: &quot;str&quot; asc (STRBW)\r\n        :::: limited matching: 10\r\n        :::: result set size: 0\r\n        :::: leaving the natural order\r\n        :::: number of records: 0\r\n        :::: elapsed time: 0.00016\r\n\r\nroot@akat:\/var\/ttserver# tctmgr setindex -it lexical casket str # index\u4f5c\u6210\u30b3\u30de\u30f3\u30c9\u306b\u3066\u540c\u968e\u5c64\u306b\u3010casket.idx.str.lex\u3011\u304c\u4f5c\u6210\u3055\u308c\u305f\u3002\u6587\u5b57\u5217\u578b\u306eindex\u3068\u306a\u308b\u3002\r\nroot@akat:\/var\/ttserver# tctmgr search -m 10 -pv -ph casket str STRBW 98765\r\n98765   str     98765   num     98654.53        type    21      flag    5,10,11 text    5,10,11\r\n987650  str     987650  num     332393.34       type    5       flag    1,3     text    1,3\r\n9876500 str     9876500 num     1020880.50      type    3       flag    5,10,13 text    5,10,13\r\n9876501 str     9876501 num     1149973.72      type    31\r\n9876502 str     9876502 num     3086705 type    20      flag    1,5,6   text    1,5,6\r\n9876503 str     9876503 num     1901912.78      type    4       flag    4,9,13  text    4,9,13\r\n9876504 str     9876504 num     1378506.34      type    7       flag    1,3,7   text    1,3,7\r\n9876505 str     9876505 num     8155588 type    21      flag    4,8,10,13       text    4,8,10,13\r\n9876506 str     9876506 num     3575270 type    4       flag    2,5,7,10        text    2,5,7,10\r\n9876507 str     9876507 num     560815  type    2       flag    1,6,11  text    1,6,11\r\n        :::: using an index: &quot;str&quot; asc (STRBW)  # index\u3092\u5229\u7528\u3057\u305f\u65e8\u304c\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\r\n        :::: limited matching: 10\r\n        :::: result set size: 10\r\n        :::: leaving the natural order\r\n        :::: number of records: 10\r\n        :::: elapsed time: 0.00156 # \u5148\u307b\u3069\u3068\u6bd4\u8f03\u3057\u3066860\u500d\u307b\u3069\u901f\u5ea6\u304c\u3042\u304c\u3063\u305f\r\nroot@akat:\/var\/ttserver# tctmgr setindex -it decimal casket num # index\u4f5c\u6210\u30b3\u30de\u30f3\u30c9\u306b\u3066\u540c\u968e\u5c64\u306b\u3010casket.idx.num.dec\u3011\u304c\u4f5c\u6210\u3055\u308c\u305f\u3002\u6570\u5024\u578b\u306eindex\u3068\u306a\u308b\u3002\r\nroot@akat:\/var\/ttserver#  tctmgr search -m 10 -pv -ph casket num NUMEQ 2112 # 2112\u3068\u4e00\u81f4\u3059\u308b\u6570\u5024\u3092\u8868\u793a\r\n99707   str     99707   num     2112    type    22      flag    5,7     text    5,7\r\n6662    str     6662    num     2112    type    9       flag    5,8     text    5,8\r\n        :::: using an index: &quot;num&quot; asc (NUMEQ) # index\u3092\u5229\u7528\u3057\u305f\u65e8\u304c\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\r\n        :::: limited matching: 10\r\n        :::: result set size: 2\r\n        :::: leaving the natural order\r\n        :::: number of records: 2\r\n        :::: elapsed time: 0.00018\r\n\r\nroot@akat:\/var\/ttserver# tctmgr setindex -it token casket flag # index\u4f5c\u6210\u30b3\u30de\u30f3\u30c9\u306b\u3066\u540c\u968e\u5c64\u306b\u3010casket.idx.flag.tok\u3011\u304c\u4f5c\u6210\u3055\u308c\u305f\u3002\u30bf\u30b0\u691c\u7d22(STRAND\u6f14\u7b97\u5b50\u3068STROR\u6f14\u7b97\u5b50\u304c\u9ad8\u901f\u5316)\u3092\u9ad8\u901f\u5316\u3059\u308b\u3002\r\n8       str     8       num     1       type    22      flag    3,7,11,16       text    3,7,11,16\r\n32      str     32      num     22      type    22      flag    5,7,12,16       text    5,7,12,16\r\n\u2026\u2026\u2026\u2026\u2026\u4e2d\u7565\u2026\u2026\u2026\u2026\u2026\r\n9999814 str     9999814 num     5135957 type    9       flag    3,8,12,16       text    3,8,12,16\r\n9999961 str     9999961 num     952144.89       type    6       flag    3,6,11,16       text    3,6,11,16\r\n9999998 str     9999998 num     7212667 type    20      flag    5,7,11,16       text    5,7,11,16\r\n        :::: using an index: &quot;flag&quot; inverted (STROR) # index\u306a\u3057\u3067\u306f\u300157.58712\u79d2\u304b\u304b\u3063\u305f\r\n        :::: token occurrence: &quot;16&quot; 112027\r\n        :::: result set size: 112027\r\n        :::: leaving the natural order\r\n        :::: number of records: 112027\r\n        :::: elapsed time: 0.16361\r\n\r\nroot@akat:\/var\/ttserver# tctmgr setindex -it qgram casket text # index\u4f5c\u6210\u30b3\u30de\u30f3\u30c9\u306b\u3066\u540c\u968e\u5c64\u306b\u3010casket.idx.text.qgr\u3011\u304c\u4f5c\u6210\u3055\u308c\u305f\u3002\u5168\u6587\u691c\u7d22\u3092\u9ad8\u901f\u5316\u3059\u308b\u3089\u3057\u3044\u3002\u3002\r\n<\/pre>\n<h2>\u305d\u306e\u4ed6\u30e1\u30e2<\/h2>\n<p>\u25a0\u6f14\u7b97\u5b50\u25a0<br \/>\nSTREQ : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u304c\u5b8c\u5168\u4e00\u81f4\u3059\u308b<br \/>\nSTRINC : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u3092\u542b\u3080<br \/>\nSTRBW : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u3067\u59cb\u307e\u308b<br \/>\nSTREW : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u3067\u7d42\u308f\u308b<br \/>\nSTRAND : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u5185\u306e\u30ab\u30f3\u30de\u533a\u5207\u308a\u306e\u6587\u5b57\u5217\u306e\u5168\u3066\u3092\u542b\u3080<br \/>\nSTROR : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u5185\u306e\u30ab\u30f3\u30de\u533a\u5207\u308a\u306e\u6587\u5b57\u5217\u306e\u3044\u305a\u308c\u304b\u3092\u542b\u3080<br \/>\nSTROREQ : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u5185\u306e\u30ab\u30f3\u30de\u533a\u5207\u308a\u306e\u6587\u5b57\u5217\u306e\u3044\u305a\u308c\u304b\u3068\u5b8c\u5168\u4e00\u81f4\u3059\u308b<br \/>\nSTRRX : \u53f3\u8fba\u306e\u6587\u5b57\u5217\u306e\u6b63\u898f\u8868\u73fe\u3068\u4e00\u81f4\u3059\u308b<br \/>\nNUMEQ : \u53f3\u8fba\u306e\u6570\u5024\u3068\u4e00\u81f4\u3059\u308b<br \/>\nNUMGT : \u53f3\u8fba\u306e\u6570\u5024\u3088\u308a\u5927\u304d\u3044<br \/>\nNUMGE : \u53f3\u8fba\u306e\u6570\u5024\u3068\u540c\u3058\u304b\u3088\u308a\u5927\u304d\u3044<br \/>\nNUMLT : \u53f3\u8fba\u306e\u6570\u5024\u3088\u308a\u5c0f\u3055\u3044<br \/>\nNUMLE : \u53f3\u8fba\u306e\u6570\u5024\u3068\u540c\u3058\u304b\u3088\u308a\u5c0f\u3055\u3044<br \/>\nNUMBT : \u53f3\u8fba\u306e\u30ab\u30f3\u30de\u533a\u5207\u308a\u306e2\u3064\u306e\u6570\u5024\u306e\u9593\u3067\u3042\u308b<br \/>\nNUMOREQ : \u53f3\u8fba\u306e\u30ab\u30f3\u30de\u533a\u5207\u308a\u306e\u6587\u5b57\u5217\u306e\u3044\u305a\u308c\u304b\u3068\u4e00\u81f4\u3059\u308b<\/p>\n<p>\u25a0index\u52b9\u679c\u25a0<br \/>\n\u6587\u5b57\u5217\u578b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9:<br \/>\n\u8a08\u7b97\u91cf\u304c\u5c0f\u3055\u304f\u306a\u308b\u6f14\u7b97\u5b50\uff1aSTREQ\u3001STRBW\u3001STROREQ<br \/>\n\u8a08\u7b97\u91cf\u306f\u540c\u3058\u3060\u304c\u9ad8\u901f\u5316\u3059\u308b\u6f14\u7b97\u5b50\uff1aSTRINC\u3001STREW\u3001STRAND\u3001STROR\u3001STRRX\u3001NUMEQ\u3001NUMGT\u3001NUMGE\u3001NUMLT\u3001NUMLE\u3001NUMBT\u3001NUMOREQ<br \/>\n\u8a08\u7b97\u91cf\u304c\u5c0f\u3055\u304f\u306a\u308b\u9806\u5e8f\u6307\u5b9a\uff1aSTRASC\u3001STRDESC<br \/>\n\u6570\u5024\u578b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9:<br \/>\n\u8a08\u7b97\u91cf\u304c\u5c0f\u3055\u304f\u306a\u308b\u6f14\u7b97\u5b50\uff1aNUMEQ\u3001NUMGT\u3001NUMGE\u3001NUMLT\u3001NUMLE\u3001NUMBT\u3001NUMOREQ<br \/>\n\u8a08\u7b97\u91cf\u306f\u540c\u3058\u3060\u304c\u9ad8\u901f\u5316\u3059\u308b\u6f14\u7b97\u5b50\uff1aSTREQ\u3001STRBW\u3001STROREQ\u3001STRINC\u3001STREW\u3001STRAND\u3001STROR\u3001STRRX<br \/>\n\u8a08\u7b97\u91cf\u304c\u5c0f\u3055\u304f\u306a\u308b\u9806\u5e8f\u6307\u5b9a\uff1aNUMASC\u3001NUMDESC<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8981 \u30c6\u30fc\u30d6\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u3064\u3044\u3066\u3001\u305d\u308c\u305e\u308c\u306e\u30ab\u30e9\u30e0\u306b\u578b\u306f\u306a\u3044\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u306f\u6570\u5024\u578b\u3068\u6587\u5b57\u5217\u578b\u306e\u578b\u304c\u3042\u308b \u3082\u3057\u9055\u3063\u305f\u3082\u306e\u3092\u5f35\u3063\u305f\u3068\u3057\u3066\u3082\u3001\u30e1\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u5168\u8868\u30b9\u30ad\u30e3\u30f3\u3067\u306a\u304f\u305d\u308c\u3088\u308a\u306f\u5c0f\u3055\u3044index\u306e\u5168\u8868\u30b9\u30ad\u30e3\u30f3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/268"}],"collection":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=268"}],"version-history":[{"count":2,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/268\/revisions"}],"predecessor-version":[{"id":271,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/268\/revisions\/271"}],"wp:attachment":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}