§K¶O¶}©ñì©l½X·j´M¤ÞÀº Lucene²¤¶§@ªÌ¡G´¿«O¹ü / »OÆW¤j¾Çpºâ¾÷¤Î¸ê°Tºô¸ô¤¤¤ß¸ê°Tºô¸ô²Õ ¥»¤å°£¤F»¡©ú¬°¦ó¾Ç®Õn¦³¦Û¤vªº·j´M¤ÞÀº¤§¥~¡A¤]´£¨Ñ¸Ñ¨M¤§¹D¡C±q²³¦h§K¶Oªººô¸ô·j´M¤ÞÀº¤§¤¤¡Aµ§ªÌ¬°¦U¦ì¬D¿ï¥X¡uLucene¡v³oÓ·j´M¤ÞÀº¡CLucene¥¦¬OApache³nÅé°òª÷·|[1]ºX¤Uªº¤@Ó¶}©ñì©l½Xªº¥þ¤åÀ˯Á¤ÞÀº¡C¥Ø¦a¬O¬°³nÅé¶}µo¤Hû´£¨Ñ¤@Ó²³æ©ö¥Îªº¤u¨ã®M¥ó¡A¥H¤è«K¦b¥ô¦ó¤å¥óÀɮרt²Î¤¤¹ê²{¥þ¤åÀ˯Áªº¥\¯à¡C I´º ¬JµM¦³¤FGoogle¡BYahoo©ÎBingµ¥°Ó·~·j´M¤ÞÀº(Search Engine)¡A¾Ç®Õ©Î¤½¥q¬O§_¦³¥²n«Ø¥ß¦Û¤vªº·j´M¤ÞÀº¡Hªº½T·|¦³¡A¦]¬°³o¨Ç§K¶Oªº·j´M¤ÞÀº¡A¤@¯ë¬O¥Î¨Ó·j´M¤½¶}¤å¥ó¡A¹ï©ó¤½¥q©Î¾÷Ãö¤º¤£¾A¦X¥~ÅSªº¤å¥ó©Î¾÷±K¸ê®Æ¡]¦p·|ij¬ö¿ý¡A¤½¤å©Î³øªíµ¥¡^¨Ã¤£¾A¥Î¡C·í¤å¥ó¶V¨Ó¶V¦h®É¡A¦p¦ó§Ö³t§ä¨ì¥H«eªº¾ú¥v¸ê®Æ©O¡A´N·|¬O¥ó³Â·Ð¡C¥»¤å°£¤F»¡©ú¬°¦ó¾Ç®Õn¦³¦Û¤vªº·j´M¤ÞÀº¤§¥~¡A·íµM¤]n´£¨Ñ¸Ñ¨M¤§¹D¡C±q¦bºô¸ô¤W¦³²³¦h§K¶Oªº·j´M¤ÞÀº¤§¤¤¡Aµ§ªÌ¬°¦U¦ì¬D¥X¡uLucene¡v³oÓ·j´M¤ÞÀº¡CLucene¥¦¬OApache³nÅé°òª÷·|[1]ºX¤Uªº¤@Ó¶}©ñì©l½Xªº¥þ¤åÀ˯Á¤ÞÀ»¡C¥Ø¦a¬O¬°³nÅé¶}µo¤Hû´£¨Ñ¤@Ó²³æ©ö¥Îªº¤u¨ã®M¥ó¡A¥H¤è«K¦b¥ô¦ó¤å¥óÀɮרt²Î¤¤¹ê²{¥þ¤åÀ˯Áªº¥\¯à¡C ¬°¦ó¾Ç®Õ»Ýn«Øºc¦Û¤vªº·j´M¤ÞÀº ¾Ç®Õªººô¶¦pªG¬O¤½¶}ªº¡An¹ï¨ä¤º®e§@·j´M¡A¥Ø«eÁÙ¬O¥HGoogle¬°³Ì¨Î¿ï¾Ü¡]¥«¥e²v³Ì°ª¡^¡A¥]¬A¯¸¤º·j´M¡A§@ªk¬O¦b·j´Mªº¼Ðªº¥[¤Wsite:ºô§}¡A´N¥i¥H°w¹ï³oÓºô§}¤º®e§@·j´M¡F¦pªG¬O¤£¤½¶}ªº¸ê°T©Î¬O»Ýn»{ÃÒ«á¤~¯à¬Ýªº¸ê®Æ¡A¨Ò¦p¦b¾Ç®Õ¦³¹Ï®ÑÀ]ÂîÑÀ˯Á¡A»Ýn»{ÃÒ«á¤~¯à¬Ý¨ì¯d¨¥ª©¤º®e¡B¤½¤å©Î·|ij¬ö¿ý¡Kµ¥³o¨Ç¤º®e¡A³q±`¾Ç®Õ³£n¥t¥~¦V¥~±ÄÁÊ·j´MªA°È¡C ¹³³o¨Ç¤£¾A¦X¥~ÅSªº¤å¥ó©Î¾÷±K¸ê®Æ¤j³£¦b¸ê®Æ®wùØ¡A©Ò¥Hµ{¦¡³]p®v¦³¥i¯à±Ä¥ÎSQL»y¨¥¹ê²{·j´M¥\¯à¡AµM¦Ó¡A·í¹J¨ì¥þ¤åÀ˯Á®É¡A¸ê®Æ®w·j´Mªº³t«×©M©Ê¯à´NµLªkº¡¨¬»Ý¨D¤F¡C¦]¦¹¡A¥un¬O¾Ç®Õ¦³¤£¾A¦X¥~ÅSªº¤å¥ó©Î¾÷±K¸ê®Æ¡A¦P®É»Ýnµ¹«Ü¦h¤H·j´M®É¡A´N¦³«Ø¸m·j´M¤ÞÀºªº»Ý¨D¡C Lucene²¤¶ ¦b¤¶²ÐLucene¤§«e¡A§ÚÌ¥ý¨Ó¤¶²Ð¤@¤U·j´M¤ÞÀºªºµo®i¥v¡G1994¦~¥Ñ´X¦ìStanford¤j¾Ç¥Í¶}µo¥X¹ïºô»Úºô¸ô¤Wªº¤j¶q¸ê®Æ§@§ó¦³®ÄªºÀ˯Á¡A³oÓ·j´M¤ÞÀº´N¬O¡uExcite[2]¡v¡F¦P®É¡A¦Û¤v´£¨Ñ¦Û®aºô¶Â²¤¶¯Á¤Þ¸ê°T¡AµM«á¥H¤ÀÃþ¥Ø¿ý¨£ªø¡A³o´N¬O²{¦b¥þ²yª¾¦WªºYahoo·j´M¤Þ撃ªº¯S¦â¡C¦P¦~¡A¦bCarnegie Mellon¤j¾Çªº³Á§J•°¨¤B³Õ¤h¡]Dr.Michael Mauldin¡^³Ð«Ø¤F¤¬Ápºô·j¯Á¤ÞÀº¡uLycos[4]¡v¡F¨ì¤F1996¦~¡A¨â¦W¥v¤¦¦ò¤j¾Çªº²z¾Ç³Õ¤h¥Í©Ô¨½•¨Ø©_©MÁº¸»\•¥¬ªL¶}µo¤F¤@Ó¹ïºô¯¸¤§¶¡ªºÃö«Y°µºë½T¤ÀªRªº·j´M¤ÞÀº[5]¡A´N¬O²{¦b¤j®a©Ò¼ôª¾ªº¡uGoogle¡v¡C ³oùؤ¶²ÐªºLucene¬O¤@Ӥ䴩¥þ¤åÀ˯Áªº¶}©ñ¤u¨ã¡A¥ÑApache³nÅé°òª÷·|¡]¤]´N¬OApache Software Foundation¡A²ºÙ¬°ASF¡^¤ä´©¶}µo¡C Lucene ´£¨Ñ¤F¤@Ó²³æ«o±j¤jªºÀ³¥Îµ{¦¡¤¶±¡A¯à°÷°µ¥þ¤å¯Á¤Þ©M·j´M¡C¦bJava¶}µoÀô¹Ò¸Ì¡ALucene¬O¤@Ó¦¨¼ô¡B§K¶Oªº¶}©ñì©l½X¤u¨ã¡F´N¨ä¥»¨¦Ó½×¡ALucene¬O²{¦b¨Ã¥B¬O³o´X¦~³Ì¨üÅwªïªº§K¶OJava¸ê°TÀ˯Áµ{¦¡®w¡C ¦p¦ó«Ø¥ß¯Á¤Þ»P·j¯Á ¦p¦ó¦b¦øªA¾¹¤W¦w¸ËLucene¡A¥un¦bGoogle·j´M¡¨Java lucene¡¨¡AÀ³¸Ó¥i¥H§ä¨ì¦¨¤d¤W¸Uªº¦w¸Ë»¡©ú¡A³oùضÈ敍zµ§ªÌÓ¤H¦b¦w¸Ë¤Wªº¤@¨Ç¸gÅç¡A¸Ô²Óªº¦w¸Ë¨BÆJµLªk¦b¦¹¤@¤@§e²{¡C -
º¥ý¶}µoÀô¹Òn¥ý¦w¸ËJAVA JDK 1.4.x ¥H¤Wª©¥»(Required)¡A³o³¡¥÷¥i¨ìhttp://java.sun.com/¤U¸ü¡A¤U¸ü«á¦A¦w¸Ë¡C -
¦A¨Ó¨ú±oLuceneµ{¦¡½X¡A½Ð¦ÜApacheºô¯¸[5]§K¶O¤U¸üLucene¡AÓ¤H¬O±Ä¥Î2.4.0ª©¥»§@´ú¸Õ¡A©Ò¥H¿ï¾Ü¤U¸ülucene-2.4.0.zip³oÓÀɮסCµM«á¸ÑÀ£ÁYLucene2.4.0.zip«á·|¬Ý¨ì¤GÓ«nªºpackages:¡@lucene-core-2.0.0.jar¤Îlucene-demos-2.0.0.jar¡A½Ð¥[¤J³o¨âÓÀɨìÀô¹ÒÅܼÆCLASSPATH¸Ì¡C -
±µµÛ§ÚÌ¥i¥H§@²³æªºdemo(¨ú¦Û[6])¡A¦b«á±²Ä¤@Óµ{¦¡½X¬OTxtFileIndex.java¡A¥¦¬O§@¯Á¤Þªºµ{¦¡¡A¨ä¤¤D:\\test_lucene\\text_directory¬On§@¯Á¤Þªº¤å¦rÀÉ¡].txt¡^©Ò¦b¥Ø¿ý¦ì¸m¡AD:\\test_lucene\\index_directory¬OLucene«Ø¥ß¯Á¤ÞÀɪº¥Ø¿ý¦ì¸m¡C²Ä¤GÓµ{¦¡½X¬OTxtFileSercher.java¡A¥¦¬O§@Searchªºµ{¦¡¡A³oÓµ{¦¡n§äªº¦r¦ê¬OqueryStr = "test"¡A¥¦·|§â¦³¡§test¡¨³æ¦rªºÀÉ®×¥þ³¡¦C¥X¡C ¤¤¤å¤Æ°ÝÃD ¦]Lucene¤¤¤åªº¯Á¤Þ¹w³]ªº§@ªk¡A¬O±N¨CÓ¦r§@¯Á¤Þ¡A¦p¥H²³æ¥y¤l¬°¨Ò¡G¡u§Ú¬O¥x¤j¤H¡v¡A¹w³]ªº¤Àµü¾¹·|±N¤§¤À³Î¬°¤Ó¤¤¤å¦r¡G¡u§Ú¡B¬O¡B¥x¡B¤j¡B¤H¡v¡ACJKTokenizer¡]¦³¤H¶}µoªº¤Àµü¾¹¡^«h·|±N¤§¤À³Î¬°¡u§Ú¬O¡B¬O¥x¡B¥x¤j¡B¤j¤H¡v¥|Ó¤G¸`ªºµü¡AµM«á¦A§@¯Á¤Þ¡C ·j´M¡u¥x¡v©Î¡u¥x¤j¡vÁÙ¥i¯à¦b¯Á¤ÞÀÉùاä±o¨ì¡A¦ý¬O¦pªG·j´M¡u¥x¤j¤H¡v«h·|§ä¤£¨ì¡C³oÓ°ÝÃDªº¸Ñ¨M¤èªk´N¥²¶·«¼g¤Àµü¾¹¡Aµ§ªÌ»{¬°¡u§Ú¡B¬O¡B¥x¡B¤j¡B¤H¡B§Ú¬O¡B¬O¥x¡B¥x¤j¡B¤j¤H¡B§Ú¬O¥x¡B¬O¥x¤j¡B¥x¤j¤H¡B§Ú¬O¥x¤j¡B¬O¥x¤j¤H¡B§Ú¬O¥x¤j¤H¡v³£»Ýn§@¯Á¤Þ¡A³o¼Ë·|¾ÉP¯Á¤ÞÀÉÅܤj¡A¦ýÀuÂI¬O·j´M®É¤ñ¸û¯à§ä¨ì©Ò»Ýnªº¸ê®Æ¡F¤]¦³¤H»{¬°¨S·N¸qªºµü¦p¡u¬O¥x¡v¡u§Ú¬O¥x¡v¡A·|Åý¯Á¤Þ¨S¥²n¦a¼W¤j¡B°§C·j´M®Ä²v¡Cµ§ªÌ»{¬°²z·Qªº¤èªk¬O«öµü»y¤À³Î¡A¦p¡u§Ú¡B¬O ¡B¥x¤j¤H¡v¡A¦ýn§¹¬ü¦a¤À³Î¤¤¤å¡A¹ê»Ú¤W¬O«Ü§xÃøªº¡Aª½¨ì²{¦b³£¤@ª½¦³µL¼Æªº¬ã¨s§Æ±æ¯à§ä¨ì§ó¦³®Äªº¸Ñ¨M¤§¹D¡C °Ñ¦Ò¤åÄm [1] http://zh.wikipedia.org/zh-tw/Apache%E8%BB%9F%E4%BB%B6%E5%9F%BA %E9%87%91%E6%9C%83 [2] http://en.wikipedia.org/wiki/Excite [3] http://zh.wikipedia.org/zh-hant/Lycos [4] http://zh.wikipedia.org/zh-tw/Google [5] http://lucene.apache.org/java/docs/ [6] http://gznofeng.javaeye.com/blog/196160
|