KITAITI Makoto
null+****@clear*****
Tue Mar 15 19:31:04 JST 2016
KITAITI Makoto 2016-03-15 19:31:04 +0900 (Tue, 15 Mar 2016) New Revision: e46229d459698098c7f57d80ac5f1ba98fdf0052 https://github.com/ranguba/epub-searcher/commit/e46229d459698098c7f57d80ac5f1ba98fdf0052 Message: Fix test fixtures Modified files: test/epub-searcher/fixtures/defined_schema_dump_expected.txt test/epub-searcher/fixtures/load_records_params_values_expected.txt test/epub-searcher/fixtures/loaded_records_dump_expected.txt test/epub-searcher/remote_database_test.rb Modified: test/epub-searcher/fixtures/defined_schema_dump_expected.txt (+2 -0) =================================================================== --- test/epub-searcher/fixtures/defined_schema_dump_expected.txt 2016-03-15 19:30:56 +0900 (02dc72b) +++ test/epub-searcher/fixtures/defined_schema_dump_expected.txt 2016-03-15 19:31:04 +0900 (2f3ad07) @@ -2,7 +2,9 @@ table_create Books TABLE_NO_KEY column_create Books author COLUMN_SCALAR ShortText column_create Books file_path COLUMN_SCALAR ShortText column_create Books main_text COLUMN_SCALAR LongText +column_create Books modified COLUMN_SCALAR Time column_create Books title COLUMN_SCALAR ShortText +column_create Books unique_identifier COLUMN_SCALAR ShortText table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto column_create Terms entries_title_index COLUMN_INDEX|WITH_POSITION Books title column_create Terms entries_main_text_index COLUMN_INDEX|WITH_POSITION Books main_text Modified: test/epub-searcher/fixtures/load_records_params_values_expected.txt (+1 -1) =================================================================== --- test/epub-searcher/fixtures/load_records_params_values_expected.txt 2016-03-15 19:30:56 +0900 (b8f4f4d) +++ test/epub-searcher/fixtures/load_records_params_values_expected.txt 2016-03-15 19:31:04 +0900 (715485e) @@ -1 +1 @@ -[{"author":"groonga","main_text":"\r\n1. groongaã®ç¹å¾´\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ ã³åºã ãããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤æ°ã®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çã å¿ è¦ã ¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n1.3. ã«ã©ã ã¹ãã¢ã¨éè¨ã¯ã¨ãª\r\nç¾ä»£ã¯ãã¤ã³ã¿ã¼ããããæ å ±æºã¨ããã°ããããã§ãæ å ±ãåéã§ããæ代ã§ããããããè¨å¤§ãªæ å ±ããæçãªæ å ±ãå¼ãåºãã®ã¯å°é£ã§ãããå¤é¢çãªåæã«ãã試è¡é¯èª¤ãå¿ è¦ã¨ãªãã¾ãããã¨ãã°ãæ¥ä»ãæé帯ã«ããçµãè¾¼ãã§ã¿ãããå°åã«ããçµãè¾¼ãã§ã¿ãããæ§å¥ãå¹´é½¢ã«ããçµãè¾¼ãã§ã¿ãããããã¨ã§ããããããã¦ããã®ãããªã¨ãã«ä¾¿å©ãªåå¨ãéè¨ã¯ã¨ãªã§ãã\r\néè¨ã¯ã¨ãªã¨ã¯ãæå®ããã«ã©ã ã®å¤ã«ãã£ã¦ã¬ã³ã¼ããã°ã«ã¼ãåããåã°ã«ã¼ãã«å«ã¾ããã¬ã³ã¼ãã®æ°ãæ±ããã¯ã¨ãªã§ãããã¨ãã°ãå°åã® ID ãæ ¼ç´ãã¦ããã«ã©ã ãæå®ããã°ãå°åæ¯ã®ã¬ã³ã¼ãæ°ãæ±ã¾ãã¾ããæ¥ä»ã®ã«ã ©ã ã æå®ããã¨ãã®åºåãã°ã©ãåããã°ãã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãããã¨ãã§ãã¾ããããã«ãå°åã«ããçµãè¾¼ã¿ã¨æ¥ä»ã«å¯¾ããéè¨ã¯ã¨ãªãçµã¿åãããã°ãç¹å®ã®å°åã«ãããã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãã¨ãå¯è½ã§ãããã®ããã«ã尺度ãèªç±ã«é¸æãã¦çµãè¾¼ã¿ã»éè¨ã§ãããã¨ã¯ãè¨å¤§ãªæ å ±ãæ±ãä¸ã§ã¨ã¦ãéè¦ã«ãªãã¾ãã\r\ngroonga ãéè¨ã¯ã¨ãªãé«éã«å¦çã§ããçç±ã¯ããã¼ã¿ãã¼ã¹ã®è«çæ§é ã«ã«ã©ã ã¹ãã¢ãæ¡ç¨ãã¦ããããã§ããéè¨ã¯ã¨ãªãåç §ããã®ã¯æå®ãããã«ã©ã ã®ã¿ã§ãããããã«ã©ã åä½ã§ãã¼ã¿ãæ ¼ç´ããåæåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãå¿ è¦ãªã«ã©ã ã®ã¿ãç¡é§ãªãèªã¿åºãããã¨ãå©ç¹ã¨ãªãã¾ããä¸æ¹ãã¬ã³ã¼ãåä½ã§ãã¼ã¿ãæ ¼ç´ããè¡æåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãé£æ¥ãã ã«ã©ã ãã¾ã¨ãã¦èªã¿åºãã¦ãã¾ããã¨ãæ¬ ç¹ã¨ãªãã¾ãã\r\n1.4. 転置索å¼ã¨ãã¼ã¯ãã¤ã¶\r\n転置索å¼ã¯å¤§è¦æ¨¡ãªå ¨ææ¤ç´¢ã«ç¨ããããä¼çµ±çãªãã¼ã¿æ§é ã§ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ã¯ãææ¸ã追å ããã¨ãã«ç´¢å¼èªãè¨é²ãã¦ãããæ¤ç´¢ããã¨ãã¯ã¯ã¨ãªãç´¢å¼èªã«åå²ãã¦åºç¾ææ¸ãæ±ãã¾ãããã®ãããææ¸ãã¯ã¨ãªããç´¢å¼èªãæãåºãæ¹æ³ãéè¦ã«ãªãã¾ãã\r\nãã¼ã¯ãã¤ã¶ã¯ãæååããç´¢å¼èªãæãåºãã¢ã¸ã¥ã¼ã«ã§ããæ¥æ¬èªã対象ã¨ããå ¨ææ¤ç´¢ã«ããã¦ã¯ãå½¢æ ç´ ãç´¢å¼èªã¨ãã¦æãåºãæ¹å¼ã¨æå N-gram ãæãåºãæ¹å¼ã®ããããããããã¯ä¸¡æ¹ãç¨ããã®ãä¸è¬çã§ããå½¢æ ç´ æ¹å¼ã¯æ¤ç´¢æéãç´¢å¼ãµã¤ãºã®é¢ã§åªãã¦ããã»ããæ¤ç´¢çµæã«ä¸è¦ãªææ¸ãå«ã¾ãã«ããã¨ããå©ç¹ãæã£ã¦ãã¾ã ãä¸æ ¹ãN-gram æ¹å¼ã«ã¯æ¤ç´¢æ¼ããçºçãã«ããã¨ããå©ç¹ããããç¶æ³ã«ãã£ã¦é©ããæ¹å¼ãé¸æãããã¨ãæã¾ããã¨ããã¦ãã¾ãã\r\ngroonga ã¯å½¢æ ç´ æ¹å¼ã¨ N-gram æ¹å¼ã®ä¸¡æ¹ã«å¯¾å¿ãã¦ãã¾ããåæç¶æ ã§å©ç¨ã§ãããã¼ã¯ãã¤ã¶ã¯ç©ºç½ãåºåãæåã¨ãã¦ç¨ããæ¹å¼ã¨ N-gram æ¹å¼ã®ã¿ã§ãããå½¢æ ç´ è§£æå¨ MeCab ãçµã¿è¾¼ãã ã¨ã㯠MeCab ã«ããåãã¡æ¸ãã®çµæãç¨ããå½¢æ ç´ æ¹å¼ãæå¹ã«ãªãã¾ãããã¼ã¯ãã¤ã¶ã¯ãã©ã°ã¤ã³ã¨ãã¦è¿½å ã§ãããããç¹å¾´çãªãã¼ã¯ã¼ãã®ã¿ãç´¢å¼èªã¨ãã¦æ¡ç¨ãããªã©ãç¬èªã®ãã¼ã¯ãã¤ã¶ãéçºãããã¨ãå¯è½ã§ãã\r\n1.5. å ±æå¯è½ãªã¹ãã¬ã¼ã¸ã¨åç §ããã¯ããªã¼\r\nCPU ã®ãã«ãã³ã¢åãé²ãã§ãããããåæã«è¤æ°ã®ã¯ã¨ãªãå®è¡ããããä¸ã¤ã®ã¯ã¨ãªãè¤æ°ã®ã¹ã¬ããã§å®è¡ãããããã ã¨ã®é è¦æ§ã¯ã¾ãã¾ãé«ã¾ã£ã¦ãã¾ãã\r\ngroonga ã®ã¹ãã¬ã¼ã¸ã¯ãè¤æ°ã®ã¹ã¬ããã»ããã»ã¹ã§å ±æãããã¨ãã§ãã¾ããã¾ããåç §ããã¯ããªã¼ãªãã¼ã¿æ§é ãæ¡ç¨ãã¦ãããããæ´æ°ã¯ã¨ãªãå®è¡ãã¦ããç¶æ³ã§ãåç §ã¯ã¨ãªãå®è¡ãããã¨ãã§ãã¾ããåç §ã¯ã¨ãªãå®è¡ã§ããç¶æ ãç¶æããªããæ´æ°ã¯ã¨ãªãå®è¡ã§ããã®ã§ããªã¢ã«ã¿ã¤ã ãªã·ã¹ãã ã«é©ãã¦ãã¾ããããã«ã¯ãMySQL ãä»ãã¦æ´æ°ã¯ã¨ãªãå®è¡ãã¦ããæä¸ã« groonga ã® HTTP ãµã¼ããä»ãã¦åç §ã¯ã¨ãªãå®è¡ãããªã©ãå¤å½©ãªéç¨ãå¯è½ã¨ãªã£ã¦ãã¾ãã\r\n1.6. ä½ç½®æ å ±ï¼ç·¯åº¦ã»çµåº¦ï¼æ¤ç´¢\r\nGPS ã«ä»£è¡¨ããã測ä½ã·ã¹ãã ãæè¼ããé«æ©è½ãªæºå¸¯ç«¯æ«ã®æ®åãªã©ã«ãã£ã¦ãä½ç½®æ å ±ãæ±ããµã¼ãã¹ã¯ã¾ãã¾ã便å©ã«ãªã£ã¦ãã¾ãããã¨ãã°ãè¿ãã«ããã¬ã¹ãã©ã³ã æ¢ãã ¦ããã¨ãã¯ãç¾å¨å°ããã®è·é¢ãåºæºã¨ãã¦æ¤ç´¢ããããªããæ¤ç´¢çµæãå°å³ä¸ã«è¡¨ç¤ºãã¦ããããããªãµã¼ãã¹ã便å©ã§ãããã®ãããä½ç½®æ å ±æ¤ç´¢ãé«éã«å®ç¾ã§ãããã¨ãéè¦ã«ãªã£ã¦ãã¾ãã\r\ngroonga ã§ã¯è»¢ç½®ç´¢å¼ãå¿ç¨ãã¦é«éãªä½ç½®æ å ±æ¤ç´¢ãå®ç¾ãã¦ãã¾ããç©å½¢ã»åã«ããç¯å²æ¤ç´¢ã«å¯¾å¿ãã¦ããã»ããåºæºç¹ã®è¿ããåªå çã«æ¢ç´¢ããããã¨ãã§ãã¾ããã¾ããè·é¢è¨ç®ããµãã¼ããã¦ããã®ã§ãä½ç½®æ å ±æ¤ç´¢ã®çµæãåºæºç¹ããã®è·é¢ã«ãã£ã¦æ´åãããã¨ãå¯è½ã§ãã\r\n1.7. groonga ã©ã¤ãã©ãª\r\nGroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ããã®ã§ãä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ãã§å©ç¨ãããã¨ãã§ãã¾ããC/C++ 以å¤ã«ã¤ãã¦ã¯ãRuby ãã groonga ãå©ç¨ããã©ã¤ãã©ãªãªã©ãé¢é£ããã¸ã§ã¯ãã«ã ãã¦æ ä¾ããã¦ãã¾ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n1.8. groonga ãµã¼ã\r\ngroonga ã«ã¯ãµã¼ãæ©è½ããããããã¬ã³ã¿ã«ãµã¼ããªã©ã®æ°ããã©ã¤ãã©ãªãã¤ã³ã¹ãã¼ã«ã§ããªãç°å¢ã«ããã¦ãå©ç¨ã§ãã¾ãã対å¿ãã¦ããã®ã¯ HTTP, memcached binary ãããã³ã«ãããã³ã« groonga ã®ç¬èªãããã³ã«ã§ãã gqtp ã§ãããµã¼ãã¨ãã¦å©ç¨ããã¨ãã¯ã¯ã¨ãªã®ãã£ãã·ã¥æ©è½ãæå¹ã«ãªããããåãã¯ã¨ãªãåãåã£ãã¨ãã¯å¿çæéãçããªãã¨ããç¹å¾´ãããã¾ãã\r\n1.9. groonga ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³\r\ngroonga ã¯ç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããæ¢åã® RDBMS ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ãã¦å©ç¨ãããã¨ãã§ãã¾ãããã¨ãã°ãgroonga ããã¼ã¹ã¨ãã MySQL ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ã㦠m roonga ã éçºããã¦ãã¾ããmroonga 㯠MySQL ã®ãã©ã°ã¤ã³ã¨ãã¦åçã«ãã¼ããããã¨ãå¯è½ã§ãããgroonga ã®ã«ã©ã ã¹ãã¢ãã¹ãã¬ã¼ã¸ã¨ãã¦å©ç¨ããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ã㦠groonga ã MyISAM ã InnoDB ã¨é£æºãããããããã¨ãã§ãã¾ããgroonga åä½ã§ã®å©ç¨ãããã³ã« MyISAM, InnoDB ã¨ã®é£æºã«ã¯ä¸é·ä¸çãããã®ã§ãç¨éã«å¿ãã¦é©åãªçµã¿åãããé¸ã¶ãã¨ã大åã§ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n\r\n","title":"groongaã«ã¤ãã¦","file_path":"${PREFIX}/test/epub-searcher/fixtures/empty_contributors_single_spine.epub"},{"author":"groongaããã¸ã§ã¯ã","main_text":"\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ããã ã¨ã ããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã ¹ã«ãã ã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤æ°ã®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n","title":"groongaã«ã¤ãã¦","file_path":"${PREFIX}/test/epub-searcher/fixtures/single_contributors_multi_spine.epub"},{"author":"groongaããã¸ã§ã¯ã","main_text":"\r\n1.1. groonga ã®æ¦è¦ \r\ngroo nga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã ³ã«çµ ã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤æ°ã®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã §ãã¾ã ã\r\n\r\n","title":"groongaã«ã¤ãã¦","file_path":"${PREFIX}/test/epub-searcher/fixtures/multi_contributors_multi_spine.epub"}] \ No newline at end of file +[{"author":"groonga","main_text":"\r\n1. groongaã®ç¹å¾´\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ ã³åºã ãããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤æ°ã®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çã å¿ è¦ã ¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n1.3. ã«ã©ã ã¹ãã¢ã¨éè¨ã¯ã¨ãª\r\nç¾ä»£ã¯ãã¤ã³ã¿ã¼ããããæ å ±æºã¨ããã°ããããã§ãæ å ±ãåéã§ããæ代ã§ããããããè¨å¤§ãªæ å ±ããæçãªæ å ±ãå¼ãåºãã®ã¯å°é£ã§ãããå¤é¢çãªåæã«ãã試è¡é¯èª¤ãå¿ è¦ã¨ãªãã¾ãããã¨ãã°ãæ¥ä»ãæé帯ã«ããçµãè¾¼ãã§ã¿ãããå°åã«ããçµãè¾¼ãã§ã¿ãããæ§å¥ãå¹´é½¢ã«ããçµãè¾¼ãã§ã¿ãããããã¨ã§ããããããã¦ããã®ãããªã¨ãã«ä¾¿å©ãªåå¨ãéè¨ã¯ã¨ãªã§ãã\r\néè¨ã¯ã¨ãªã¨ã¯ãæå®ããã«ã©ã ã®å¤ã«ãã£ã¦ã¬ã³ã¼ããã°ã«ã¼ãåããåã°ã«ã¼ãã«å«ã¾ããã¬ã³ã¼ãã®æ°ãæ±ããã¯ã¨ãªã§ãããã¨ãã°ãå°åã® ID ãæ ¼ç´ãã¦ããã«ã©ã ãæå®ããã°ãå°åæ¯ã®ã¬ã³ã¼ãæ°ãæ±ã¾ãã¾ããæ¥ä»ã®ã«ã ©ã ã æå®ããã¨ãã®åºåãã°ã©ãåããã°ãã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãããã¨ãã§ãã¾ããããã«ãå°åã«ããçµãè¾¼ã¿ã¨æ¥ä»ã«å¯¾ããéè¨ã¯ã¨ãªãçµã¿åãããã°ãç¹å®ã®å°åã«ãããã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãã¨ãå¯è½ã§ãããã®ããã«ã尺度ãèªç±ã«é¸æãã¦çµãè¾¼ã¿ã»éè¨ã§ãããã¨ã¯ãè¨å¤§ãªæ å ±ãæ±ãä¸ã§ã¨ã¦ãéè¦ã«ãªãã¾ãã\r\ngroonga ãéè¨ã¯ã¨ãªãé«éã«å¦çã§ããçç±ã¯ããã¼ã¿ãã¼ã¹ã®è«çæ§é ã«ã«ã©ã ã¹ãã¢ãæ¡ç¨ãã¦ããããã§ããéè¨ã¯ã¨ãªãåç §ããã®ã¯æå®ãããã«ã©ã ã®ã¿ã§ãããããã«ã©ã åä½ã§ãã¼ã¿ãæ ¼ç´ããåæåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãå¿ è¦ãªã«ã©ã ã®ã¿ãç¡é§ãªãèªã¿åºãããã¨ãå©ç¹ã¨ãªãã¾ããä¸æ¹ãã¬ã³ã¼ãåä½ã§ãã¼ã¿ãæ ¼ç´ããè¡æåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãé£æ¥ãã ã«ã©ã ãã¾ã¨ãã¦èªã¿åºãã¦ãã¾ããã¨ãæ¬ ç¹ã¨ãªãã¾ãã\r\n1.4. 転置索å¼ã¨ãã¼ã¯ãã¤ã¶\r\n転置索å¼ã¯å¤§è¦æ¨¡ãªå ¨ææ¤ç´¢ã«ç¨ããããä¼çµ±çãªãã¼ã¿æ§é ã§ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ã¯ãææ¸ã追å ããã¨ãã«ç´¢å¼èªãè¨é²ãã¦ãããæ¤ç´¢ããã¨ãã¯ã¯ã¨ãªãç´¢å¼èªã«åå²ãã¦åºç¾ææ¸ãæ±ãã¾ãããã®ãããææ¸ãã¯ã¨ãªããç´¢å¼èªãæãåºãæ¹æ³ãéè¦ã«ãªãã¾ãã\r\nãã¼ã¯ãã¤ã¶ã¯ãæååããç´¢å¼èªãæãåºãã¢ã¸ã¥ã¼ã«ã§ããæ¥æ¬èªã対象ã¨ããå ¨ææ¤ç´¢ã«ããã¦ã¯ãå½¢æ ç´ ãç´¢å¼èªã¨ãã¦æãåºãæ¹å¼ã¨æå N-gram ãæãåºãæ¹å¼ã®ããããããããã¯ä¸¡æ¹ãç¨ããã®ãä¸è¬çã§ããå½¢æ ç´ æ¹å¼ã¯æ¤ç´¢æéãç´¢å¼ãµã¤ãºã®é¢ã§åªãã¦ããã»ããæ¤ç´¢çµæã«ä¸è¦ãªææ¸ãå«ã¾ãã«ããã¨ããå©ç¹ãæã£ã¦ãã¾ã ãä¸æ ¹ãN-gram æ¹å¼ã«ã¯æ¤ç´¢æ¼ããçºçãã«ããã¨ããå©ç¹ããããç¶æ³ã«ãã£ã¦é©ããæ¹å¼ãé¸æãããã¨ãæã¾ããã¨ããã¦ãã¾ãã\r\ngroonga ã¯å½¢æ ç´ æ¹å¼ã¨ N-gram æ¹å¼ã®ä¸¡æ¹ã«å¯¾å¿ãã¦ãã¾ããåæç¶æ ã§å©ç¨ã§ãããã¼ã¯ãã¤ã¶ã¯ç©ºç½ãåºåãæåã¨ãã¦ç¨ããæ¹å¼ã¨ N-gram æ¹å¼ã®ã¿ã§ãããå½¢æ ç´ è§£æå¨ MeCab ãçµã¿è¾¼ãã ã¨ã㯠MeCab ã«ããåãã¡æ¸ãã®çµæãç¨ããå½¢æ ç´ æ¹å¼ãæå¹ã«ãªãã¾ãããã¼ã¯ãã¤ã¶ã¯ãã©ã°ã¤ã³ã¨ãã¦è¿½å ã§ãããããç¹å¾´çãªãã¼ã¯ã¼ãã®ã¿ãç´¢å¼èªã¨ãã¦æ¡ç¨ãããªã©ãç¬èªã®ãã¼ã¯ãã¤ã¶ãéçºãããã¨ãå¯è½ã§ãã\r\n1.5. å ±æå¯è½ãªã¹ãã¬ã¼ã¸ã¨åç §ããã¯ããªã¼\r\nCPU ã®ãã«ãã³ã¢åãé²ãã§ãããããåæã«è¤æ°ã®ã¯ã¨ãªãå®è¡ããããä¸ã¤ã®ã¯ã¨ãªãè¤æ°ã®ã¹ã¬ããã§å®è¡ãããããã ã¨ã®é è¦æ§ã¯ã¾ãã¾ãé«ã¾ã£ã¦ãã¾ãã\r\ngroonga ã®ã¹ãã¬ã¼ã¸ã¯ãè¤æ°ã®ã¹ã¬ããã»ããã»ã¹ã§å ±æãããã¨ãã§ãã¾ããã¾ããåç §ããã¯ããªã¼ãªãã¼ã¿æ§é ãæ¡ç¨ãã¦ãããããæ´æ°ã¯ã¨ãªãå®è¡ãã¦ããç¶æ³ã§ãåç §ã¯ã¨ãªãå®è¡ãããã¨ãã§ãã¾ããåç §ã¯ã¨ãªãå®è¡ã§ããç¶æ ãç¶æããªããæ´æ°ã¯ã¨ãªãå®è¡ã§ããã®ã§ããªã¢ã«ã¿ã¤ã ãªã·ã¹ãã ã«é©ãã¦ãã¾ããããã«ã¯ãMySQL ãä»ãã¦æ´æ°ã¯ã¨ãªãå®è¡ãã¦ããæä¸ã« groonga ã® HTTP ãµã¼ããä»ãã¦åç §ã¯ã¨ãªãå®è¡ãããªã©ãå¤å½©ãªéç¨ãå¯è½ã¨ãªã£ã¦ãã¾ãã\r\n1.6. ä½ç½®æ å ±ï¼ç·¯åº¦ã»çµåº¦ï¼æ¤ç´¢\r\nGPS ã«ä»£è¡¨ããã測ä½ã·ã¹ãã ãæè¼ããé«æ©è½ãªæºå¸¯ç«¯æ«ã®æ®åãªã©ã«ãã£ã¦ãä½ç½®æ å ±ãæ±ããµã¼ãã¹ã¯ã¾ãã¾ã便å©ã«ãªã£ã¦ãã¾ãããã¨ãã°ãè¿ãã«ããã¬ã¹ãã©ã³ã æ¢ãã ¦ããã¨ãã¯ãç¾å¨å°ããã®è·é¢ãåºæºã¨ãã¦æ¤ç´¢ããããªããæ¤ç´¢çµæãå°å³ä¸ã«è¡¨ç¤ºãã¦ããããããªãµã¼ãã¹ã便å©ã§ãããã®ãããä½ç½®æ å ±æ¤ç´¢ãé«éã«å®ç¾ã§ãããã¨ãéè¦ã«ãªã£ã¦ãã¾ãã\r\ngroonga ã§ã¯è»¢ç½®ç´¢å¼ãå¿ç¨ãã¦é«éãªä½ç½®æ å ±æ¤ç´¢ãå®ç¾ãã¦ãã¾ããç©å½¢ã»åã«ããç¯å²æ¤ç´¢ã«å¯¾å¿ãã¦ããã»ããåºæºç¹ã®è¿ããåªå çã«æ¢ç´¢ããããã¨ãã§ãã¾ããã¾ããè·é¢è¨ç®ããµãã¼ããã¦ããã®ã§ãä½ç½®æ å ±æ¤ç´¢ã®çµæãåºæºç¹ããã®è·é¢ã«ãã£ã¦æ´åãããã¨ãå¯è½ã§ãã\r\n1.7. groonga ã©ã¤ãã©ãª\r\nGroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ããã®ã§ãä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ãã§å©ç¨ãããã¨ãã§ãã¾ããC/C++ 以å¤ã«ã¤ãã¦ã¯ãRuby ãã groonga ãå©ç¨ããã©ã¤ãã©ãªãªã©ãé¢é£ããã¸ã§ã¯ãã«ã ãã¦æ ä¾ããã¦ãã¾ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n1.8. groonga ãµã¼ã\r\ngroonga ã«ã¯ãµã¼ãæ©è½ããããããã¬ã³ã¿ã«ãµã¼ããªã©ã®æ°ããã©ã¤ãã©ãªãã¤ã³ã¹ãã¼ã«ã§ããªãç°å¢ã«ããã¦ãå©ç¨ã§ãã¾ãã対å¿ãã¦ããã®ã¯ HTTP, memcached binary ãããã³ã«ãããã³ã« groonga ã®ç¬èªãããã³ã«ã§ãã gqtp ã§ãããµã¼ãã¨ãã¦å©ç¨ããã¨ãã¯ã¯ã¨ãªã®ãã£ãã·ã¥æ©è½ãæå¹ã«ãªããããåãã¯ã¨ãªãåãåã£ãã¨ãã¯å¿çæéãçããªãã¨ããç¹å¾´ãããã¾ãã\r\n1.9. groonga ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³\r\ngroonga ã¯ç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããæ¢åã® RDBMS ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ãã¦å©ç¨ãããã¨ãã§ãã¾ãããã¨ãã°ãgroonga ããã¼ã¹ã¨ãã MySQL ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ã㦠m roonga ã éçºããã¦ãã¾ããmroonga 㯠MySQL ã®ãã©ã°ã¤ã³ã¨ãã¦åçã«ãã¼ããããã¨ãå¯è½ã§ãããgroonga ã®ã«ã©ã ã¹ãã¢ãã¹ãã¬ã¼ã¸ã¨ãã¦å©ç¨ããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ã㦠groonga ã MyISAM ã InnoDB ã¨é£æºãããããããã¨ãã§ãã¾ããgroonga åä½ã§ã®å©ç¨ãããã³ã« MyISAM, InnoDB ã¨ã®é£æºã«ã¯ä¸é·ä¸çãããã®ã§ãç¨éã«å¿ãã¦é©åãªçµã¿åãããé¸ã¶ãã¨ã大åã§ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n\r\n","title":"groongaã«ã¤ãã¦","file_path":"${PREFIX}/test/epub-searcher/fixtures/empty_contributors_single_spine.epub","unique_identifier":"00004257","modified":null},{"author":"groongaããã¸ã§ã¯ã","main_text":"\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ãã åç §ã ãããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã ¨å³æ æ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤æ°ã®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n","title":"groongaã«ã¤ãã¦","file_path":"${PREFIX}/test/epub-searcher/fixtures/single_contributors_multi_spine.epub","unique_identifier":null,"modif ied":137 1707215.0},{"author":"groongaããã¸ã§ã¯ã","main_text":"\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã PostgreSQL ã¨é£æºãããããRuby ãã å¼ã³ åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤æ°ã®è»¢ç½®ç´¢å¼ãçµ±åãããããªé ãå¦ç ãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n","title":"groongaã«ã¤ãã¦","file_path":"${PREFIX}/test/epub-searcher/fixtures/multi_contributors_multi_spine.epub","unique_identifier":null,"modified":1371696244.0}] Modified: test/epub-searcher/fixtures/loaded_records_dump_expected.txt (+4 -4) =================================================================== --- test/epub-searcher/fixtures/loaded_records_dump_expected.txt 2016-03-15 19:30:56 +0900 (60a409c) +++ test/epub-searcher/fixtures/loaded_records_dump_expected.txt 2016-03-15 19:31:04 +0900 (13f52ed) @@ -1,7 +1,7 @@ load --table Books [ -["_id","author","file_path","main_text","title"], -[1,"groonga","${PREFIX}/test/epub-searcher/fixtures/empty_contributors_single_spine.epub","\r\n1. groongaã®ç¹å¾´\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMy SQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤ æ°ã®è» ¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n1.3. ã«ã©ã ã¹ãã¢ã¨éè¨ã¯ã¨ãª\r\nç¾ä»£ã¯ãã¤ã³ã¿ã¼ããããæ å ±æºã¨ããã°ããããã§ãæ å ±ãåéã§ããæ代ã§ããããããè¨å¤§ãªæ å ±ããæçãªæ å ±ãå¼ãåºãã®ã¯å°é£ã§ãããå¤é¢çãªåæã«ãã試è¡é¯èª¤ãå¿ è¦ã¨ãªãã¾ãããã¨ãã°ãæ¥ä»ãæé帯ã«ããçµãè¾¼ãã§ã¿ãããå°åã«ããçµãè¾¼ãã§ã¿ãããæ§å¥ãå¹´é½¢ã«ããçµãè¾¼ãã§ã¿ãããããã¨ã§ããããããã¦ããã®ãããªã¨ãã«ä¾¿å©ãªåå¨ãéè¨ã¯ã¨ãªã§ãã\r\néè¨ã¯ã¨ãªã¨ã¯ãæå®ããã«ã©ã ã®å¤ã«ãã£ã¦ã¬ã³ã¼ããã°ã«ã¼ãåããåã°ã«ã¼ãã«å«ã¾ããã¬ã³ã¼ãã®æ°ãæ±ããã¯ã¨ãªã§ãããã¨ãã°ãå°åã® ID ãæ ¼ç´ãã¦ããã«ã©ã ãæå®ããã°ãå°å æ¯ã® ã¬ã³ã¼ãæ°ãæ±ã¾ãã¾ããæ¥ä»ã®ã«ã©ã ãæå®ããã¨ãã®åºåãã°ã©ãåããã°ãã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãããã¨ãã§ãã¾ããããã«ãå°åã«ããçµãè¾¼ã¿ã¨æ¥ä»ã«å¯¾ããéè¨ã¯ã¨ãªãçµã¿åãããã°ãç¹å®ã®å°åã«ãããã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãã¨ãå¯è½ã§ãããã®ããã«ã尺度ãèªç±ã«é¸æãã¦çµãè¾¼ã¿ã»éè¨ã§ãããã¨ã¯ãè¨å¤§ãªæ å ±ãæ±ãä¸ã§ã¨ã¦ãéè¦ã«ãªãã¾ãã\r\ngroonga ãéè¨ã¯ã¨ãªãé«éã«å¦çã§ããçç±ã¯ããã¼ã¿ãã¼ã¹ã®è«çæ§é ã«ã«ã©ã ã¹ãã¢ãæ¡ç¨ãã¦ããããã§ããéè¨ã¯ã¨ãªãåç §ããã®ã¯æå®ãããã«ã©ã ã®ã¿ã§ãããããã«ã©ã åä½ã§ãã¼ã¿ãæ ¼ç´ããåæåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãå¿ è¦ãªã«ã©ã ã®ã¿ãç¡é§ãªãèªã¿åºãããã¨ãå©ç¹ã¨ãªãã¾ããä¸æ¹ãã¬ã³ã¼ãåä½ã§ãã¼ã¿ãæ ¼ç´ ããè ¡æåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãé£æ¥ããã«ã©ã ãã¾ã¨ãã¦èªã¿åºãã¦ãã¾ããã¨ãæ¬ ç¹ã¨ãªãã¾ãã\r\n1.4. 転置索å¼ã¨ãã¼ã¯ãã¤ã¶\r\n転置索å¼ã¯å¤§è¦æ¨¡ãªå ¨ææ¤ç´¢ã«ç¨ããããä¼çµ±çãªãã¼ã¿æ§é ã§ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ã¯ãææ¸ã追å ããã¨ãã«ç´¢å¼èªãè¨é²ãã¦ãããæ¤ç´¢ããã¨ãã¯ã¯ã¨ãªãç´¢å¼èªã«åå²ãã¦åºç¾ææ¸ãæ±ãã¾ãããã®ãããææ¸ãã¯ã¨ãªããç´¢å¼èªãæãåºãæ¹æ³ãéè¦ã«ãªãã¾ãã\r\nãã¼ã¯ãã¤ã¶ã¯ãæååããç´¢å¼èªãæãåºãã¢ã¸ã¥ã¼ã«ã§ããæ¥æ¬èªã対象ã¨ããå ¨ææ¤ç´¢ã«ããã¦ã¯ãå½¢æ ç´ ãç´¢å¼èªã¨ãã¦æãåºãæ¹å¼ã¨æå N-gram ãæãåºãæ¹å¼ã®ããããããããã¯ä¸¡æ¹ãç¨ããã®ãä¸è¬çã§ããå½¢æ ç´ æ¹å¼ã¯æ¤ç´¢æéãç´¢å¼ãµã¤ãºã®é¢ã§åªãã¦ããã»ããæ¤ç´¢çµæã«ä¸è¦ãªææ ¸ãå«ã ¾ãã«ããã¨ããå©ç¹ãæã£ã¦ãã¾ããä¸æ¹ãN-gram æ¹å¼ã«ã¯æ¤ç´¢æ¼ããçºçãã«ããã¨ããå©ç¹ããããç¶æ³ã«ãã£ã¦é©ããæ¹å¼ãé¸æãããã¨ãæã¾ããã¨ããã¦ãã¾ãã\r\ngroonga ã¯å½¢æ ç´ æ¹å¼ã¨ N-gram æ¹å¼ã®ä¸¡æ¹ã«å¯¾å¿ãã¦ãã¾ããåæç¶æ ã§å©ç¨ã§ãããã¼ã¯ãã¤ã¶ã¯ç©ºç½ãåºåãæåã¨ãã¦ç¨ããæ¹å¼ã¨ N-gram æ¹å¼ã®ã¿ã§ãããå½¢æ ç´ è§£æå¨ MeCab ãçµã¿è¾¼ãã ã¨ã㯠MeCab ã«ããåãã¡æ¸ãã®çµæãç¨ããå½¢æ ç´ æ¹å¼ãæå¹ã«ãªãã¾ãããã¼ã¯ãã¤ã¶ã¯ãã©ã°ã¤ã³ã¨ãã¦è¿½å ã§ãããããç¹å¾´çãªãã¼ã¯ã¼ãã®ã¿ãç´¢å¼èªã¨ãã¦æ¡ç¨ãããªã©ãç¬èªã®ãã¼ã¯ãã¤ã¶ãéçºãããã¨ãå¯è½ã§ãã\r\n1.5. å ±æå¯è½ãªã¹ãã¬ã¼ã¸ã¨åç §ããã¯ããªã¼\r\nCPU ã®ãã«ãã³ã¢åãé²ãã§ãããããåæã«è¤æ°ã®ã¯ã¨ãªãå®è¡ããããä¸ã¤ã®ã¯ ã¨ãªã è¤æ°ã®ã¹ã¬ããã§å®è¡ããããããã¨ã®éè¦æ§ã¯ã¾ãã¾ãé«ã¾ã£ã¦ãã¾ãã\r\ngroonga ã®ã¹ãã¬ã¼ã¸ã¯ãè¤æ°ã®ã¹ã¬ããã»ããã»ã¹ã§å ±æãããã¨ãã§ãã¾ããã¾ããåç §ããã¯ããªã¼ãªãã¼ã¿æ§é ãæ¡ç¨ãã¦ãããããæ´æ°ã¯ã¨ãªãå®è¡ãã¦ããç¶æ³ã§ãåç §ã¯ã¨ãªãå®è¡ãããã¨ãã§ãã¾ããåç §ã¯ã¨ãªãå®è¡ã§ããç¶æ ãç¶æããªããæ´æ°ã¯ã¨ãªãå®è¡ã§ããã®ã§ããªã¢ã«ã¿ã¤ã ãªã·ã¹ãã ã«é©ãã¦ãã¾ããããã«ã¯ãMySQL ãä»ãã¦æ´æ°ã¯ã¨ãªãå®è¡ãã¦ããæä¸ã« groonga ã® HTTP ãµã¼ããä»ãã¦åç §ã¯ã¨ãªãå®è¡ãããªã©ãå¤å½©ãªéç¨ãå¯è½ã¨ãªã£ã¦ãã¾ãã\r\n1.6. ä½ç½®æ å ±ï¼ç·¯åº¦ã»çµåº¦ï¼æ¤ç´¢\r\nGPS ã«ä»£è¡¨ããã測ä½ã·ã¹ãã ãæè¼ããé«æ©è½ãªæºå¸¯ç«¯æ«ã®æ®åãªã©ã«ãã£ã¦ãä½ç½®æ å ±ãæ±ããµã¼ãã¹ã¯ã¾ãã¾ã便å©ã«ãªã£ã¦ã ã¾ãã ãã¨ãã°ãè¿ãã«ããã¬ã¹ãã©ã³ãæ¢ãã¦ããã¨ãã¯ãç¾å¨å°ããã®è·é¢ãåºæºã¨ãã¦æ¤ç´¢ããããªããæ¤ç´¢çµæãå°å³ä¸ã«è¡¨ç¤ºãã¦ããããããªãµã¼ãã¹ã便å©ã§ãããã®ãããä½ç½®æ å ±æ¤ç´¢ãé«éã«å®ç¾ã§ãããã¨ãéè¦ã«ãªã£ã¦ãã¾ãã\r\ngroonga ã§ã¯è»¢ç½®ç´¢å¼ãå¿ç¨ãã¦é«éãªä½ç½®æ å ±æ¤ç´¢ãå®ç¾ãã¦ãã¾ããç©å½¢ã»åã«ããç¯å²æ¤ç´¢ã«å¯¾å¿ãã¦ããã»ããåºæºç¹ã®è¿ããåªå çã«æ¢ç´¢ããããã¨ãã§ãã¾ããã¾ããè·é¢è¨ç®ããµãã¼ããã¦ããã®ã§ãä½ç½®æ å ±æ¤ç´¢ã®çµæãåºæºç¹ããã®è·é¢ã«ãã£ã¦æ´åãããã¨ãå¯è½ã§ãã\r\n1.7. groonga ã©ã¤ãã©ãª\r\nGroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ããã®ã§ãä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ãã§å©ç¨ãããã¨ãã§ãã¾ããC/C++ 以å¤ã«ã¤ãã¦ã¯ãRuby ãã groonga ãå©ç¨ã ãã©ã ¤ãã©ãªãªã©ãé¢é£ããã¸ã§ã¯ãã«ããã¦æä¾ããã¦ãã¾ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n1.8. groonga ãµã¼ã\r\ngroonga ã«ã¯ãµã¼ãæ©è½ããããããã¬ã³ã¿ã«ãµã¼ããªã©ã®æ°ããã©ã¤ãã©ãªãã¤ã³ã¹ãã¼ã«ã§ããªãç°å¢ã«ããã¦ãå©ç¨ã§ãã¾ãã対å¿ãã¦ããã®ã¯ HTTP, memcached binary ãããã³ã«ãããã³ã« groonga ã®ç¬èªãããã³ã«ã§ãã gqtp ã§ãããµã¼ãã¨ãã¦å©ç¨ããã¨ãã¯ã¯ã¨ãªã®ãã£ãã·ã¥æ©è½ãæå¹ã«ãªããããåãã¯ã¨ãªãåãåã£ãã¨ãã¯å¿çæéãçããªãã¨ããç¹å¾´ãããã¾ãã\r\n1.9. groonga ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³\r\ngroonga ã¯ç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããæ¢åã® RDBMS ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ãã¦å©ç¨ãããã¨ãã§ãã¾ãããã¨ãã°ãgroonga ããã¼ã¹ ã¨ãã MySQL ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ã㦠mroonga ãéçºããã¦ãã¾ããmroonga 㯠MySQL ã®ãã©ã°ã¤ã³ã¨ãã¦åçã«ãã¼ããããã¨ãå¯è½ã§ãããgroonga ã®ã«ã©ã ã¹ãã¢ãã¹ãã¬ã¼ã¸ã¨ãã¦å©ç¨ããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ã㦠groonga ã MyISAM ã InnoDB ã¨é£æºãããããããã¨ãã§ãã¾ããgroonga åä½ã§ã®å©ç¨ãããã³ã« MyISAM, InnoDB ã¨ã®é£æºã«ã¯ä¸é·ä¸çãããã®ã§ãç¨éã«å¿ãã¦é©åãªçµã¿åãããé¸ã¶ãã¨ã大åã§ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n\r\n","groongaã«ã¤ãã¦"], -[2,"groongaããã¸ã§ã¯ã","${PREFIX}/test/epub-searcher/fixtures/single_contributors_multi_spine.epub","\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã Postg reSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ãã è¤æ°ã ®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n","groongaã«ã¤ãã¦"], -[3,"groongaããã¸ã§ã¯ã","${PREFIX}/test/epub-searcher/fixtures/multi_contributors_multi_spine.epub","\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã Postgr eSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè ¤æ°ã® 転置索å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n","groongaã«ã¤ãã¦"] +["_id","author","file_path","main_text","modified","title","unique_identifier"], +[1,"groonga","${PREFIX}/test/epub-searcher/fixtures/empty_contributors_single_spine.epub","\r\n1. groongaã®ç¹å¾´\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMy SQL ã PostgreSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè¤ æ°ã®è» ¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n1.3. ã«ã©ã ã¹ãã¢ã¨éè¨ã¯ã¨ãª\r\nç¾ä»£ã¯ãã¤ã³ã¿ã¼ããããæ å ±æºã¨ããã°ããããã§ãæ å ±ãåéã§ããæ代ã§ããããããè¨å¤§ãªæ å ±ããæçãªæ å ±ãå¼ãåºãã®ã¯å°é£ã§ãããå¤é¢çãªåæã«ãã試è¡é¯èª¤ãå¿ è¦ã¨ãªãã¾ãããã¨ãã°ãæ¥ä»ãæé帯ã«ããçµãè¾¼ãã§ã¿ãããå°åã«ããçµãè¾¼ãã§ã¿ãããæ§å¥ãå¹´é½¢ã«ããçµãè¾¼ãã§ã¿ãããããã¨ã§ããããããã¦ããã®ãããªã¨ãã«ä¾¿å©ãªåå¨ãéè¨ã¯ã¨ãªã§ãã\r\néè¨ã¯ã¨ãªã¨ã¯ãæå®ããã«ã©ã ã®å¤ã«ãã£ã¦ã¬ã³ã¼ããã°ã«ã¼ãåããåã°ã«ã¼ãã«å«ã¾ããã¬ã³ã¼ãã®æ°ãæ±ããã¯ã¨ãªã§ãããã¨ãã°ãå°åã® ID ãæ ¼ç´ãã¦ããã«ã©ã ãæå®ããã°ãå°å æ¯ã® ã¬ã³ã¼ãæ°ãæ±ã¾ãã¾ããæ¥ä»ã®ã«ã©ã ãæå®ããã¨ãã®åºåãã°ã©ãåããã°ãã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãããã¨ãã§ãã¾ããããã«ãå°åã«ããçµãè¾¼ã¿ã¨æ¥ä»ã«å¯¾ããéè¨ã¯ã¨ãªãçµã¿åãããã°ãç¹å®ã®å°åã«ãããã¬ã³ã¼ãæ°ã®æéå¤åãè¦è¦åãã¨ãå¯è½ã§ãããã®ããã«ã尺度ãèªç±ã«é¸æãã¦çµãè¾¼ã¿ã»éè¨ã§ãããã¨ã¯ãè¨å¤§ãªæ å ±ãæ±ãä¸ã§ã¨ã¦ãéè¦ã«ãªãã¾ãã\r\ngroonga ãéè¨ã¯ã¨ãªãé«éã«å¦çã§ããçç±ã¯ããã¼ã¿ãã¼ã¹ã®è«çæ§é ã«ã«ã©ã ã¹ãã¢ãæ¡ç¨ãã¦ããããã§ããéè¨ã¯ã¨ãªãåç §ããã®ã¯æå®ãããã«ã©ã ã®ã¿ã§ãããããã«ã©ã åä½ã§ãã¼ã¿ãæ ¼ç´ããåæåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãå¿ è¦ãªã«ã©ã ã®ã¿ãç¡é§ãªãèªã¿åºãããã¨ãå©ç¹ã¨ãªãã¾ããä¸æ¹ãã¬ã³ã¼ãåä½ã§ãã¼ã¿ãæ ¼ç´ ããè ¡æåã®ãã¼ã¿ãã¼ã¹ã§ã¯ãé£æ¥ããã«ã©ã ãã¾ã¨ãã¦èªã¿åºãã¦ãã¾ããã¨ãæ¬ ç¹ã¨ãªãã¾ãã\r\n1.4. 転置索å¼ã¨ãã¼ã¯ãã¤ã¶\r\n転置索å¼ã¯å¤§è¦æ¨¡ãªå ¨ææ¤ç´¢ã«ç¨ããããä¼çµ±çãªãã¼ã¿æ§é ã§ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ã¯ãææ¸ã追å ããã¨ãã«ç´¢å¼èªãè¨é²ãã¦ãããæ¤ç´¢ããã¨ãã¯ã¯ã¨ãªãç´¢å¼èªã«åå²ãã¦åºç¾ææ¸ãæ±ãã¾ãããã®ãããææ¸ãã¯ã¨ãªããç´¢å¼èªãæãåºãæ¹æ³ãéè¦ã«ãªãã¾ãã\r\nãã¼ã¯ãã¤ã¶ã¯ãæååããç´¢å¼èªãæãåºãã¢ã¸ã¥ã¼ã«ã§ããæ¥æ¬èªã対象ã¨ããå ¨ææ¤ç´¢ã«ããã¦ã¯ãå½¢æ ç´ ãç´¢å¼èªã¨ãã¦æãåºãæ¹å¼ã¨æå N-gram ãæãåºãæ¹å¼ã®ããããããããã¯ä¸¡æ¹ãç¨ããã®ãä¸è¬çã§ããå½¢æ ç´ æ¹å¼ã¯æ¤ç´¢æéãç´¢å¼ãµã¤ãºã®é¢ã§åªãã¦ããã»ããæ¤ç´¢çµæã«ä¸è¦ãªææ ¸ãå«ã ¾ãã«ããã¨ããå©ç¹ãæã£ã¦ãã¾ããä¸æ¹ãN-gram æ¹å¼ã«ã¯æ¤ç´¢æ¼ããçºçãã«ããã¨ããå©ç¹ããããç¶æ³ã«ãã£ã¦é©ããæ¹å¼ãé¸æãããã¨ãæã¾ããã¨ããã¦ãã¾ãã\r\ngroonga ã¯å½¢æ ç´ æ¹å¼ã¨ N-gram æ¹å¼ã®ä¸¡æ¹ã«å¯¾å¿ãã¦ãã¾ããåæç¶æ ã§å©ç¨ã§ãããã¼ã¯ãã¤ã¶ã¯ç©ºç½ãåºåãæåã¨ãã¦ç¨ããæ¹å¼ã¨ N-gram æ¹å¼ã®ã¿ã§ãããå½¢æ ç´ è§£æå¨ MeCab ãçµã¿è¾¼ãã ã¨ã㯠MeCab ã«ããåãã¡æ¸ãã®çµæãç¨ããå½¢æ ç´ æ¹å¼ãæå¹ã«ãªãã¾ãããã¼ã¯ãã¤ã¶ã¯ãã©ã°ã¤ã³ã¨ãã¦è¿½å ã§ãããããç¹å¾´çãªãã¼ã¯ã¼ãã®ã¿ãç´¢å¼èªã¨ãã¦æ¡ç¨ãããªã©ãç¬èªã®ãã¼ã¯ãã¤ã¶ãéçºãããã¨ãå¯è½ã§ãã\r\n1.5. å ±æå¯è½ãªã¹ãã¬ã¼ã¸ã¨åç §ããã¯ããªã¼\r\nCPU ã®ãã«ãã³ã¢åãé²ãã§ãããããåæã«è¤æ°ã®ã¯ã¨ãªãå®è¡ããããä¸ã¤ã®ã¯ ã¨ãªã è¤æ°ã®ã¹ã¬ããã§å®è¡ããããããã¨ã®éè¦æ§ã¯ã¾ãã¾ãé«ã¾ã£ã¦ãã¾ãã\r\ngroonga ã®ã¹ãã¬ã¼ã¸ã¯ãè¤æ°ã®ã¹ã¬ããã»ããã»ã¹ã§å ±æãããã¨ãã§ãã¾ããã¾ããåç §ããã¯ããªã¼ãªãã¼ã¿æ§é ãæ¡ç¨ãã¦ãããããæ´æ°ã¯ã¨ãªãå®è¡ãã¦ããç¶æ³ã§ãåç §ã¯ã¨ãªãå®è¡ãããã¨ãã§ãã¾ããåç §ã¯ã¨ãªãå®è¡ã§ããç¶æ ãç¶æããªããæ´æ°ã¯ã¨ãªãå®è¡ã§ããã®ã§ããªã¢ã«ã¿ã¤ã ãªã·ã¹ãã ã«é©ãã¦ãã¾ããããã«ã¯ãMySQL ãä»ãã¦æ´æ°ã¯ã¨ãªãå®è¡ãã¦ããæä¸ã« groonga ã® HTTP ãµã¼ããä»ãã¦åç §ã¯ã¨ãªãå®è¡ãããªã©ãå¤å½©ãªéç¨ãå¯è½ã¨ãªã£ã¦ãã¾ãã\r\n1.6. ä½ç½®æ å ±ï¼ç·¯åº¦ã»çµåº¦ï¼æ¤ç´¢\r\nGPS ã«ä»£è¡¨ããã測ä½ã·ã¹ãã ãæè¼ããé«æ©è½ãªæºå¸¯ç«¯æ«ã®æ®åãªã©ã«ãã£ã¦ãä½ç½®æ å ±ãæ±ããµã¼ãã¹ã¯ã¾ãã¾ã便å©ã«ãªã£ã¦ã ã¾ãã ãã¨ãã°ãè¿ãã«ããã¬ã¹ãã©ã³ãæ¢ãã¦ããã¨ãã¯ãç¾å¨å°ããã®è·é¢ãåºæºã¨ãã¦æ¤ç´¢ããããªããæ¤ç´¢çµæãå°å³ä¸ã«è¡¨ç¤ºãã¦ããããããªãµã¼ãã¹ã便å©ã§ãããã®ãããä½ç½®æ å ±æ¤ç´¢ãé«éã«å®ç¾ã§ãããã¨ãéè¦ã«ãªã£ã¦ãã¾ãã\r\ngroonga ã§ã¯è»¢ç½®ç´¢å¼ãå¿ç¨ãã¦é«éãªä½ç½®æ å ±æ¤ç´¢ãå®ç¾ãã¦ãã¾ããç©å½¢ã»åã«ããç¯å²æ¤ç´¢ã«å¯¾å¿ãã¦ããã»ããåºæºç¹ã®è¿ããåªå çã«æ¢ç´¢ããããã¨ãã§ãã¾ããã¾ããè·é¢è¨ç®ããµãã¼ããã¦ããã®ã§ãä½ç½®æ å ±æ¤ç´¢ã®çµæãåºæºç¹ããã®è·é¢ã«ãã£ã¦æ´åãããã¨ãå¯è½ã§ãã\r\n1.7. groonga ã©ã¤ãã©ãª\r\nGroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ããã®ã§ãä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ãã§å©ç¨ãããã¨ãã§ãã¾ããC/C++ 以å¤ã«ã¤ãã¦ã¯ãRuby ãã groonga ãå©ç¨ã ãã©ã ¤ãã©ãªãªã©ãé¢é£ããã¸ã§ã¯ãã«ããã¦æä¾ããã¦ãã¾ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n1.8. groonga ãµã¼ã\r\ngroonga ã«ã¯ãµã¼ãæ©è½ããããããã¬ã³ã¿ã«ãµã¼ããªã©ã®æ°ããã©ã¤ãã©ãªãã¤ã³ã¹ãã¼ã«ã§ããªãç°å¢ã«ããã¦ãå©ç¨ã§ãã¾ãã対å¿ãã¦ããã®ã¯ HTTP, memcached binary ãããã³ã«ãããã³ã« groonga ã®ç¬èªãããã³ã«ã§ãã gqtp ã§ãããµã¼ãã¨ãã¦å©ç¨ããã¨ãã¯ã¯ã¨ãªã®ãã£ãã·ã¥æ©è½ãæå¹ã«ãªããããåãã¯ã¨ãªãåãåã£ãã¨ãã¯å¿çæéãçããªãã¨ããç¹å¾´ãããã¾ãã\r\n1.9. groonga ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³\r\ngroonga ã¯ç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããæ¢åã® RDBMS ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ãã¦å©ç¨ãããã¨ãã§ãã¾ãããã¨ãã°ãgroonga ããã¼ã¹ ã¨ãã MySQL ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¨ã㦠mroonga ãéçºããã¦ãã¾ããmroonga 㯠MySQL ã®ãã©ã°ã¤ã³ã¨ãã¦åçã«ãã¼ããããã¨ãå¯è½ã§ãããgroonga ã®ã«ã©ã ã¹ãã¢ãã¹ãã¬ã¼ã¸ã¨ãã¦å©ç¨ããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ã㦠groonga ã MyISAM ã InnoDB ã¨é£æºãããããããã¨ãã§ãã¾ããgroonga åä½ã§ã®å©ç¨ãããã³ã« MyISAM, InnoDB ã¨ã®é£æºã«ã¯ä¸é·ä¸çãããã®ã§ãç¨éã«å¿ãã¦é©åãªçµã¿åãããé¸ã¶ãã¨ã大åã§ãã詳ãã㯠é¢é£ããã¸ã§ã¯ã ãåç §ãã¦ãã ããã\r\n\r\n",0.0,"groongaã«ã¤ãã¦","00004257"], +[2,"groongaããã¸ã§ã¯ã","${PREFIX}/test/epub-searcher/fixtures/single_contributors_multi_spine.epub","\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã Postg reSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ãã è¤æ°ã ®è»¢ç½®ç´¢å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n",1371707215.0,"groongaã«ã¤ãã¦",""], +[3,"groongaããã¸ã§ã¯ã","${PREFIX}/test/epub-searcher/fixtures/multi_contributors_multi_spine.epub","\r\n1.1. groonga ã®æ¦è¦\r\ngroonga ã¯è»¢ç½®ç´¢å¼ãç¨ããé«éã»é«ç²¾åº¦ãªå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããç»é²ãããææ¸ãããã«æ¤ç´¢çµæã«åæ ã§ãã¾ããã¾ããåç §ããããã¯ããã«æ´æ°ã§ãããã¨ãããå³ææ´æ°ã®å¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãé«ãæ§è½ãçºæ®ãã¾ãã\r\nå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦éçºããã groonga ã§ãããç¬èªã®ã«ã©ã ã¹ãã¢ãæã¤åæåã®ãã¼ã¿ãã¼ã¹ã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ãããã®ãããMySQL ã PostgreSQL ãªã©ãæ¢åã®ä»£è¡¨çãªãã¼ã¿ãã¼ã¹ãè¦æã¨ããéè¨ã¯ã¨ãªãé«éã«å¦çã§ããã¨ããç¹å¾´ããããçµã¿åããã«ãã£ã¦å¼±ç¹ãè£ããããªä½¿ãæ¹ãã§ãã¾ãã\r\ngroonga ã®åºæ¬æ©è½ã¯ C ã©ã¤ãã©ãªã¨ãã¦æä¾ããã¦ãã¾ãããMySQL ã Postgr eSQL ã¨é£æºãããããRuby ããå¼ã³åºããããããã¨ãã§ãã¾ãããã®ãããä»»æã®ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¨ãå¯è½ã§ãããå¤æ§ãªä½¿ãæ¹ãèãããã¾ãã èå³ã®ããæ¹ã¯ å©ç¨ä¾ ãã覧ãã ããã\r\n\r\n\r\n1.2. å ¨ææ¤ç´¢ã¨å³ææ´æ°\r\nä¸è¬çãªãã¼ã¿ãã¼ã¹ã«ããã¦ã¯ã追å ã»åé¤ãªã©ã®æä½ãããã«åæ ããã¾ããä¸æ¹ãå ¨ææ¤ç´¢ã«ããã¦ã¯ã転置索å¼ãé次æ´æ°ã®é£ãããã¼ã¿æ§é ã§ãããã¨ãããææ¸ã®è¿½å ã»åé¤ã«å¯¾å¿ããªãã¨ã³ã¸ã³ãå°ãªãããã¾ããã\r\nããã«å¯¾ãã転置索å¼ãç¨ããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã§ãããªãããgroonga ã¯ææ¸ãçæéã§è¿½å ã»åé¤ãããã¨ãã§ãã¾ãããã®ä¸ãæ´æ°ããªããã§ãæ¤ç´¢ã§ããã¨ããåªããç¹å¾´ãæã£ã¦ãããããå ¨ææ¤ç´¢ã¨ã³ã¸ã³ã¨ãã¦ã¯ã¨ã¦ãæè»æ§ãããã¾ããã¾ããè ¤æ°ã® 転置索å¼ãçµ±åãããããªéãå¦çãå¿ è¦ã¨ããªãã®ã§ãå®å®ãã¦é«ãæ§è½ãçºæ®ãããã¨ãæå¾ ã§ãã¾ãã\r\n\r\n",1371696244.0,"groongaã«ã¤ãã¦",""] ] Modified: test/epub-searcher/remote_database_test.rb (+2 -0) =================================================================== --- test/epub-searcher/remote_database_test.rb 2016-03-15 19:30:56 +0900 (055401d) +++ test/epub-searcher/remote_database_test.rb 2016-03-15 19:31:04 +0900 (cebc111) @@ -26,6 +26,8 @@ class TestRemoteDatabase < Test::Unit::TestCase {:table=>:Books, :name=>'file_path', :flags=>'COLUMN_SCALAR', :type=>:ShortText}, {:table=>:Books, :name=>'title', :flags=>'COLUMN_SCALAR', :type=>:ShortText}, {:table=>:Books, :name=>'main_text', :flags=>'COLUMN_SCALAR', :type=>:LongText}, + {:table=>:Books, :name=>'unique_identifier', :flags=>'COLUMN_SCALAR', :type=>:ShortText}, + {:table=>:Books, :name=>'modified', :flags=>'COLUMN_SCALAR', :type=>:Time}, {:table=>:Terms, :name=>'entries_author_index', :flags=>'COLUMN_INDEX|WITH_POSITION', :type=>:Books, :source=>'author'}, {:table=>:Terms, :name=>'entries_main_text_index', :flags=>'COLUMN_INDEX|WITH_POSITION', :type=>:Books, :source=>'main_text'}, {:table=>:Terms, :name=>'entries_title_index', :flags=>'COLUMN_INDEX|WITH_POSITION', :type=>:Books, :source=>'title'}, -------------- next part -------------- HTML����������������������������... Download