Ò»¡¢×ÛÊö
ËÑË÷
http://baike.baidu.com/item/ %E6%90%9C%E7%B4%A2/ 2791632#viewPageContent
ÔçÆÚµÄËÑË÷ÒýÇæÊǰÑÒòÌØÍøÖеÄ×ÊÔ´·þÎñÆ÷µÄµØÖ·ÊÕ¼¯ÆðÀ´£¬ÓÉÆäÌṩµÄ×ÊÔ´µÄÀàÐͲ»Í¬¶ø·Ö³É²»Í¬µÄĿ¼£¬ÔÙÒ»²ã²ãµØ½øÐзÖÀà¡£ÈËÃÇÒªÕÒ×Ô¼ºÏëÒªµÄÐÅÏ¢¿É°´ËûÃǵķÖÀàÒ»²ã²ã½øÈ룬¾ÍÄÜ×îºóµ½´ïÄ¿µÄµØ£¬ÕÒµ½×Ô¼ºÏëÒªµÄÐÅÏ¢£¨Ê÷×´½á¹¹£©¡£ÕâÆäʵÊÇ×îÔʼµÄ·½Ê½£¬Ö»ÊÊÓÃÓÚÒòÌØÍøÐÅÏ¢²¢²»¶àµÄʱºò¡£
Ëæ×ÅÒòÌØÍøÐÅÏ¢°´¼¸ºÎʽÔö³¤£¬³öÏÖÁËÕæÕýÒâÒåÉϵÄËÑË÷ÒýÇæ£¬ÕâЩËÑË÷ÒýÇæÖªµÀÍøÕ¾ÉÏÿһҳµÄ¿ªÊ¼£¬ËæºóËÑË÷ÒòÌØÍøÉϵÄËùÓг¬¼¶Á´½Ó£¬°Ñ´ú±í³¬¼¶Á´½ÓµÄËùÓдʻã·ÅÈëÒ»¸öÊý¾Ý¿â¡£Õâ¾ÍÊÇÏÖÔÚËÑË÷ÒýÇæµÄÔÐÍ¡£
Ëü°üÀ¨ÐÅÏ¢ËѼ¯¡¢ÐÅÏ¢ÕûÀíºÍÓû§²éѯÈý²¿·Ö¡£
·¢Õ¹
Ëæ×Åyahoo!µÄ³öÏÖ£¬ËÑË÷ÒýÇæµÄ·¢Õ¹Ò²½øÈëÁ˻ƽðʱ´ú£¬Ïà±ÈÒÔǰÆäÐÔÄܸü¼ÓÓÅÔ½¡£ÏÖÔÚµÄËÑË÷ÒýÇæÒѾ²»Ö»Êǵ¥´¿µÄËÑË÷ÍøÒ³µÄÐÅÏ¢ÁË£¬ËüÃÇÒѾ±äµÃ¸ü¼Ó×ۺϻ¯£¬ÍêÃÀ»¯ÁË¡£ÒÔËÑË÷ÒýÇæÈ¨Íþyahoo!ΪÀý£¬´Ó1995Äê3ÔÂÓÉÃÀ¼®»ªÒáÑîÖÂÔ¶µÈÈË´´°ìyahoo!¿ªÊ¼£¬µ½ÏÖÔÚ£¬ËûÃÇ´ÓÒ»¸öµ¥Ò»µÄËÑË÷ÒýÇæ·¢Õ¹µ½ÏÖÔÚÓеç×ÓÉÌÎñ¡¢ÐÂÎÅÐÅÏ¢·þÎñ¡¢¸öÈËÃâ·Ñµç×ÓÐÅÏä·þÎñµÈ¶àÖÖÍøÂç·þÎñ£¬³ä·Ö˵Ã÷ÁËËÑË÷ÒýÇæµÄ·¢Õ¹´Óµ¥Ò»µ½×ۺϵĹý³Ì¡£
ETL-Êý¾Ý²Ö¿â¼¼Êõ
Extraction-Transformation -LoadingµÄËõд£¬ÖÐÎÄÃû³ÆÎªÊý¾ÝÌáÈ¡¡¢×ª»»ºÍ¼ÓÔØ¡£
http://baike.so.com/doc/ 2126217-2249603.html
ETL£¬ÊÇÓ¢ÎÄExtract-Transform-LoadµÄËõд£¬ÓÃÀ´ÃèÊö½«Êý¾Ý´ÓÀ´Ô´¶Ë¾¹ý³éÈ¡(extract)¡¢×ª»»(transform)¡¢¼ÓÔØ(load)ÖÁÄ¿µÄ¶ËµÄ¹ý³Ì¡£ETLÒ»´Ê½Ï³£ÓÃÔÚÊý¾Ý²Ö¿â£¬µ«Æä¶ÔÏó²¢²»ÏÞÓÚÊý¾Ý²Ö¿â¡£
ETLÊǹ¹½¨Êý¾Ý²Ö¿âµÄÖØÒªÒ»»·£¬Óû§´ÓÊý¾ÝÔ´³éÈ¡³öËùÐèµÄÊý¾Ý£¬¾¹ýÊý¾ÝÇåÏ´,×îÖÕ°´ÕÕÔ¤Ïȶ¨ÒåºÃµÄÊý¾Ý²Ö¿âÄ£ÐÍ£¬½«Êý¾Ý¼ÓÔØµ½Êý¾Ý²Ö¿âÖÐÈ¥¡£
ÔÀí
×¥È¡ÍøÒ³£¨Extraction£©
ÿ¸ö¶ÀÁ¢µÄËÑË÷ÒýÇæ¶¼ÓÐ×Ô¼ºµÄÍøÒ³×¥È¡³ÌÐò£¨spider£©¡£Spider˳×ÅÍøÒ³Öеij¬Á´½Ó£¬Á¬ÐøµØ×¥È¡ÍøÒ³¡£ÓÉÓÚ»¥ÁªÍøÖг¬Á´½ÓµÄÓ¦ÓÃºÜÆÕ±é£¬ÀíÂÛÉÏ£¬´ÓÒ»¶¨·¶Î§µÄÍøÒ³³ö·¢£¬¾ÍÄÜËѼ¯µ½¾ø´ó¶àÊýµÄÍøÒ³¡£
´¦ÀíÍøÒ³£¨Transformation£©
ËÑË÷ÒýÇæ×¥µ½ÍøÒ³ºó£¬»¹Òª×ö´óÁ¿µÄÔ¤´¦Àí¹¤×÷²ÅÄÜÌṩ¼ìË÷·þÎñ¡£ÆäÖУ¬×îÖØÒªµÄ¾ÍÊÇÌáÈ¡¹Ø¼ü´Ê£¬½¨Á¢Ë÷ÒýÎļþ¡£ÆäËû»¹°üÀ¨È¥³ýÖØ¸´ÍøÒ³¡¢·ÖÎö³¬Á´½Ó¡¢¼ÆËãÍøÒ³µÄÖØÒª¶ÈµÈ¡£
¼ìË÷·þÎñ£¨Loading£©
Óû§ÊäÈë¹Ø¼ü´Ê½øÐмìË÷£¬ËÑË÷ÒýÇæ´ÓË÷ÒýÊý¾Ý¿âÖÐÕÒµ½Æ¥Åä¸Ã¹Ø¼ü´ÊµÄÍøÒ³£»ÎªÁËÓû§±ãÓÚÅжϣ¬³ýÁËÍøÒ³±êÌâºÍURLÍ⣬»¹»áÌṩһ¶ÎÀ´×ÔÍøÒ³µÄÕªÒªÒÔ¼°ÆäËûÐÅÏ¢¡£
¶þ¡¢ËÑË÷ÒýÇæ
ËÑË÷ÒýÇæ£¨Search Engine£©ÊÇÖ¸¸ù¾ÝÒ»¶¨µÄ²ßÂÔ¡¢ÔËÓÃÌØ¶¨µÄ¼ÆËã»ú³ÌÐò´Ó»¥ÁªÍøÉÏËѼ¯ÐÅÏ¢£¬ÔÚ¶ÔÐÅÏ¢½øÐÐ×éÖ¯ºÍ´¦Àíºó£¬ÎªÓû§Ìṩ¼ìË÷·þÎñ£¬½«Óû§¼ìË÷Ïà¹ØµÄÐÅϢչʾ¸øÓû§µÄϵͳ¡£ËÑË÷ÒýÇæ°üÀ¨È«ÎÄË÷Òý¡¢Ä¿Â¼Ë÷Òý¡¢ÔªËÑË÷ÒýÇæ¡¢´¹Ö±ËÑË÷ÒýÇæ¡¢¼¯ºÏʽËÑË÷ÒýÇæ¡¢ÃÅ»§ËÑË÷ÒýÇæÓëÃâ·ÑÁ´½ÓÁбíµÈ¡£
Ò»¸öËÑË÷ÒýÇæÓÉËÑË÷Æ÷¡¢Ë÷ÒýÆ÷¡¢¼ìË÷Æ÷ºÍÓû§½Ó¿ÚËĸö²¿·Ö×é³É¡£
1.ËÑË÷Æ÷µÄ¹¦ÄÜÊÇÔÚ»¥ÁªÍøÖÐÂþÓΣ¬·¢ÏÖºÍËѼ¯ÐÅÏ¢¡£
2.Ë÷ÒýÆ÷µÄ¹¦ÄÜÊÇÀí½âËÑË÷Æ÷ËùËÑË÷µÄÐÅÏ¢£¬´ÓÖгéÈ¡³öË÷ÒýÏÓÃÓÚ±íʾÎĵµÒÔ¼°Éú³ÉÎĵµ¿âµÄË÷Òý±í¡£
3.¼ìË÷Æ÷µÄ¹¦ÄÜÊǸù¾ÝÓû§µÄ²éѯÔÚË÷Òý¿âÖпìËÙ¼ì³öÎĵµ£¬½øÐÐÎĵµÓë²éѯµÄÏà¹Ø¶ÈÆÀ¼Û£¬¶Ô½«ÒªÊä³öµÄ½á¹û½øÐÐÅÅÐò£¬²¢ÊµÏÖijÖÖÓû§Ïà¹ØÐÔ·´À¡»úÖÆ¡£
4.Óû§½Ó¿ÚµÄ×÷ÓÃÊÇÊäÈëÓû§²éѯ¡¢ÏÔʾ²éѯ½á¹û¡¢ÌṩÓû§Ïà¹ØÐÔ·´À¡»úÖÆ¡£
ËÑË÷ÒýÇæÏÖÖ÷ҪΪȫÎÄË÷ÒýºÍĿ¼Ë÷Òý¡£´¹Ö±ËÑË÷ÒýÇæÓÉÓÚÆäÔÚÌØ¶¨ÁìÓòµÄ¸ü¸ßµÄÓû§ÌåÑ飬ÒÔ¼°¸üСµÄÓ²¼þ³É±¾£¬Ò²¿ªÊ¼Öð½¥ÐËÆð¡£
1.·ÖÀࣺ
1.1È«ÎÄËÑË÷ÒýÇæ
ËÑË÷ÒýÇæ·ÖÀಿ·ÖÌáµ½¹ýÈ«ÎÄËÑË÷ÒýÇæ´ÓÍøÕ¾ÌáÈ¡ÐÅÏ¢½¨Á¢ÍøÒ³Êý¾Ý¿âµÄ¸ÅÄî¡£ËÑË÷ÒýÇæµÄ×Ô¶¯ÐÅÏ¢ËѼ¯¹¦ÄÜ·ÖÁ½ÖÖ¡£
Ò»ÖÖÊǶ¨ÆÚËÑË÷£¬¼´Ã¿¸ôÒ»¶Îʱ¼ä£¨±ÈÈçGoogleÒ»°ãÊÇ28Ì죩£¬ËÑË÷ÒýÇæÖ÷¶¯Åɳö¡°Ö©Ö롱³ÌÐò£¬¶ÔÒ»¶¨IPµØÖ··¶Î§ÄڵĻ¥ÁªÍøÍøÕ¾½øÐмìË÷£¬Ò»µ©·¢ÏÖеÄÍøÕ¾£¬Ëü»á×Ô¶¯ÌáÈ¡ÍøÕ¾µÄÐÅÏ¢ºÍÍøÖ·¼ÓÈë×Ô¼ºµÄÊý¾Ý¿â¡£
ÁíÒ»ÖÖÊÇÌá½»ÍøÕ¾ËÑË÷£¬¼´ÍøÕ¾ÓµÓÐÕßÖ÷¶¯ÏòËÑË÷ÒýÇæÌá½»ÍøÖ·£¬ËüÔÚÒ»¶¨Ê±¼äÄÚ£¨2Ììµ½ÊýÔ²»µÈ£©¶¨ÏòÏòÄãµÄÍøÕ¾Åɳö¡°Ö©Ö롱³ÌÐò£¬É¨ÃèÄãµÄÍøÕ¾²¢½«ÓйØÐÅÏ¢´æÈëÊý¾Ý¿â£¬ÒÔ±¸Óû§²éѯ¡£Ëæ×ÅËÑË÷ÒýÇæË÷Òý¹æÔò·¢ÉúºÜ´ó±ä»¯£¬Ö÷¶¯Ìá½»ÍøÖ·²¢²»±£Ö¤ÄãµÄÍøÕ¾ÄܽøÈëËÑË÷ÒýÇæÊý¾Ý¿â£¬×îºÃµÄ°ì·¨ÊǶà»ñµÃһЩÍⲿÁ´½Ó£¬ÈÃËÑË÷ÒýÇæÓиü¶à»ú»áÕÒµ½Äã²¢×Ô¶¯½«ÄãµÄÍøÕ¾ÊÕ¼¡£
µ±Óû§ÒԹؼü´Ê²éÕÒÐÅϢʱ£¬ËÑË÷ÒýÇæ»áÔÚÊý¾Ý¿âÖнøÐÐËÑѰ£¬Èç¹ûÕÒµ½ÓëÓû§ÒªÇóÄÚÈÝÏà·ûµÄÍøÕ¾£¬±ã²ÉÓÃÌØÊâµÄËã·¨¡ª¡ªÍ¨³£¸ù¾ÝÍøÒ³Öйؼü´ÊµÄÆ¥Åä³Ì¶È¡¢³öÏÖµÄλÖá¢Æµ´Î¡¢Á´½ÓÖÊÁ¿¡ª¡ª¼ÆËã³ö¸÷ÍøÒ³µÄÏà¹Ø¶È¼°ÅÅÃûµÈ¼¶£¬È»ºó¸ù¾Ý¹ØÁª¶È¸ßµÍ£¬°´Ë³Ðò½«ÕâÐ©ÍøÒ³Á´½Ó·µ»Ø¸øÓû§¡£ÕâÖÖÒýÇæµÄÌØµãÊÇËÑÈ«ÂʱȽϸß
1.2Ŀ¼Ë÷Òý
Ŀ¼Ë÷ÒýÒ²³ÆÎª£º·ÖÀà¼ìË÷£¬ÊÇÒòÌØÍøÉÏ×îÔçÌṩWWW×ÊÔ´²éѯµÄ·þÎñ£¬Ö÷Ҫͨ¹ýËѼ¯ºÍÕûÀíÒòÌØÍøµÄ×ÊÔ´£¬¸ù¾ÝËÑË÷µ½ÍøÒ³µÄÄÚÈÝ£¬½«ÆäÍøÖ··ÖÅäµ½Ïà¹Ø·ÖÀàÖ÷ÌâĿ¼µÄ²»Í¬²ã´ÎµÄÀàĿ֮Ï£¬ÐγÉÏñͼÊé¹ÝĿ¼һÑùµÄ·ÖÀàÊ÷ÐνṹË÷Òý¡£Ä¿Â¼Ë÷ÒýÎÞÐèÊäÈëÈκÎÎÄ×Ö£¬Ö»Òª¸ù¾ÝÍøÕ¾ÌṩµÄÖ÷Ìâ·ÖÀàĿ¼£¬²ã²ãµã»÷½øÈ룬±ã¿É²éµ½ËùÐèµÄÍøÂçÐÅÏ¢×ÊÔ´¡£
ÑϸñÒâÒåÉÏ£¬Ä¿Â¼Ë÷Òý²»ÄܳÆÎªËÑË÷ÒýÇæ¡£
1.2.1Ŀ¼Ë÷ÒýÓëËÑË÷ÒýÇæµÄ²»Í¬
1.ËÑË÷ÒýÇæÎª³ÌÐò×Ô¶¯Ë÷Òý£»¶øÄ¿Â¼Ë÷ÒýÔòÒÀÀµÈËΪ²Ù×÷¡£
2.ËÑË÷ÒýÇæ²»¿¼ÂÇÍøÕ¾·ÖÀ࣬¸ù¾Ý¹Ø¼ü´ÊÍøÕ¾ÆµÂʹ¹½¨ËÑË÷Ë÷Òý£»¶øÄ¿Â¼Ë÷ÒýÐèÒªÕç±ðÍøÕ¾µÄ·ÖÀàĿ¼λÖá£
3.ËÑË÷ÒýÇæ¼ìË÷µ½µÄÐÅÏ¢ÊdzÌÐòÅÀ³æ×Ô¶¯»ñÈ¡µÄ£¬Ã»ÓлòÉÙÓйýÂË»úÖÆ£¬¶øÄ¿Â¼Ë÷ÒýÓдóÁ¿µÄÈËΪÉó²é¹ýÂË»úÖÆ£¬Òò¶øÐÅϢĿ¼¹¹½¨Ò²Ïà¶Ô»ºÂý¡£
1.2.2Ŀ¼Ë÷ÒýÓëËÑË÷ÒýÇæµÄÈÚºÏ
ÏÖÔÚµÄËÑË÷ÒýÇæÒ»°ãÒ²Ìṩ·ÖÀà²éѯµÄ¹¦ÄÜ¡£ÈçGoogleʹÓÃOpen DirectoryĿ¼Ìṩ·ÖÀà²éѯ¡£ÔÚĬÈÏËÑË÷ģʽÏ£¬Ò»Ð©Ä¿Â¼ÀàËÑË÷ÒýÇæÊ×ÏÈ·µ»ØµÄÊÇ×Ô¼ºÄ¿Â¼ÖÐÆ¥ÅäµÄÍøÕ¾£¬ÈçÖйúµÄËѺü¡¢ÐÂÀË¡¢ÍøÒ׵ȣ»¶øÁíÍâһЩÔòĬÈϵÄÊÇÍøÒ³ËÑË÷£¬ÈçYahoo¡£ÕâÖÖÒýÇæµÄÌØµãÊǼìË÷µÄ׼ȷÂʱȽϸߡ£
1.3´¹Ö±ËÑË÷ÒýÇæ
´¹Ö±ËÑË÷ÒýÇæÎª2006ÄêºóÖð²½ÐËÆðµÄÒ»ÀàËÑË÷ÒýÇæ¡£²»Í¬ÓÚͨÓõÄÍøÒ³ËÑË÷ÒýÇæ£¬´¹Ö±ËÑË÷רעÓÚÌØ¶¨µÄËÑË÷ÁìÓòºÍËÑË÷ÐèÇó£¨ÀýÈ磺»úƱËÑË÷¡¢ÂÃÓÎËÑË÷¡¢Éú»îËÑË÷¡¢Ð¡ËµËÑË÷¡¢ÊÓÆµËÑË÷¡¢¹ºÎïËÑË÷µÈµÈ£©£¬ÔÚÆäÌØ¶¨µÄËÑË÷ÁìÓòÓиüºÃµÄÓû§ÌåÑé¡£Ïà±ÈͨÓÃËÑË÷¶¯éüÊýǧ̨¼ìË÷·þÎñÆ÷£¬´¹Ö±ËÑË÷¾ß±¸ÐèÒªµÄÓ²¼þ³É±¾µÍ¡¢Óû§ÐèÇóÌØ¶¨¡¢²éѯµÄ·½Ê½¶àÑùµÈÓŵ㡣±È½ÏÊʺÏÖÐСÐ͹«Ë¾ºÍ´´ÒµÐ͹«Ë¾µÄËÑË÷·þÎñ¡£
2.¹¤×÷ÔÀí
°´ÕÕËÑË÷ÒýÇæµÄ¶¨Ò壬һ°ã½«Æä¹¤×÷ÔÀí·ÖΪËIJ¿·Ö£¬¼´ÅÀÐУ¬×¥È¡´æ´¢£¬Ô¤´¦Àí£¬ÅÅÃû¡£
2.1ÅÀÐУ¨ÐÅÏ¢»ñÈ¡£©
ÍøÂçËÑË÷ÒýÇæÍ¨¹ýÌØ¶¨Ëã·¨µÄÈí¼þ£¬¸ú×ÙÍøÒ³Öеij¬Á´½Ó£¬Öð²ãÉîÈëÁ´½Ó£¬Öð½¥À©ÕųÉÒ»ÕÅ±é²¼ÍøÂç¡£Òò´Ë£¬Ò²ÐÎÏóµÄ³ÆÖ®ÎªÖ©Ö루Spider£©»òÅÀ³æ¡£ÕâÖÖÈí¼þµÄÅÀÐУ¬ÐèÒª×ñÑÒ»¶¨µÄ¹æÔò£¬°´ÕÕÖ¸¶¨µÄÅÀÐÐÉî¶ÈºÍÅÀÐйã¶ÈÀ´½øÐÐÍøÒ³ÅÀÈ¡¡£
³ýÁËÅÀÈ¡WebÖ®ÉϵÄ×ÊÔ´£¬¿É»ñÈ¡µÄÊý¾Ý¿â£¬Îı¾Îļþ£¬PDFµÈ¿É½âÎö³öÎÄ×ÖÐγÉÓÐЧÊý¾ÝµÄÐÅÏ¢×ÊÔ´¶¼¿ÉÒÔ³ÉΪÅÀÈ¡µÄ×ÊÔ´¡£µ±È»£¬Õë¶Ô²»Í¬µÄÎļþ¸ñʽºÍÎĵµ±àÂ룬¶¼ÐèÒªÓÐÏà¶ÔÓ¦µÄÎļþ½âÎöºÍÔ¤´¦ÀíÆ÷ÅäºÏ£¬²ÅÄÜʵÏÖÐÅÏ¢µÄÅÀÈ¡¡£
2.2ץȡ´æ´¢£¨ÐÅÏ¢´æ´¢£©
ËÑË÷ÒýÇæ½«ÅÀ³æÅÀÈ¡µ½µÄ¿Éʶ±ð´æ´¢ÐÅÏ¢´æ´¢µ½ÔÊ¼Ò³ÃæÊý¾Ý¿âÖС£ÆäÖеÄÊý¾ÝÊÇ»¹Î´¾´¦ÀíµÄÐÅÏ¢£¬»¹²»¾ß±¸Êý¾ÝµÄÓÐЧÐÔ£¬Òò´Ë»¹²»ÄܳÆÖ®ÎªÊý¾Ý¡£
ÔÚÅÀÈ¡Ò³ÃæµÄ¹ý³ÌÖУ¬ÅÀ³æÒ²»á¶ÔÊý¾Ý½øÐгõ²½µÄÖØ¸´ÐÔ¼ì²â£¬¸ù¾ÝÏàÓ¦µÄÈ¨ÖØÒÔ¼°Öظ´±ÈÓÐÑ¡ÔñµÄÅÀÈ¡Ò³ÃæÐÅÏ¢£¬²¢ºöÂÔ±»´óÁ¿×ªÔØ¡¢³Ï®¡¢¸´ÖƵÄÄÚÈÝ¡£
2.3Ô¤´¦Àí£¨ÐÅÏ¢-Êý¾Ý£©
ËÑË÷ÒýÇæµÄÔ¤´¦ÀíÆ÷»á½«ÅÀ³æÅÀÈ¡»ØÀ´µÄÊý¾Ý½øÐи÷ÖÖµÄÔ¤´¦Àí²Ù×÷£¬¼õСÊý¾ÝÒôÔë±È£¬ÌáÁ¶ÓÐЧÊý¾Ý¡£²¢Í¨¹ýË÷ÒýÆ÷¸ù¾ÝÖ¸¶¨µÄË÷Òý¹¹½¨·½Ê½¹¹½¨Ë÷Òý¡£
Ò»°ã»á½øÐеÄÔ¤´¦Àí°üÀ¨µ«²»ÏÞÓÚ£ºÌáÈ¡ÎÄ×Ö£¬Ìض¨ÓïÖÖ·Ö´Ê£¨ÈçÖÐÎÄ·Ö´Ê£©£¬È¥³ýÍ£Ö¹´Ê£¬Ïû³ýÔëÒô£¨Èç°æÈ¨ÉùÃ÷ÎÄ×Ö¡¢µ¼º½Ìõ¡¢¹ã¸æµÈ¡¡£©£¬Á´½Ó¹ØÏµ¼ÆËã£¬ÌØÊâÎļþ´¦ÀíµÈ¡£
Ë÷Òý¹¹½¨Ò»°ãÓÐÕýÏòË÷Òý£¨Ë³ÐòË÷Òý£©£¬µ¹ÅÅË÷ÒýµÈ·½Ê½¡£
2.4ÅÅÃû
ËÑË÷ÒýÇæ»á¸ù¾Ý¶àÖÖÖ¸±êÀ´¶Ô¸ù¾Ý¼ìË÷´Ê»ã¼ìË÷µ½µÄ³õ²½½á¹û½øÐнá¹ûÅÅÃû¡£ÈçÓÐÃûµÄGoogle´´Ê¼ÈËÀÀÅ寿µÄPageRankËã·¨¾ÍÊÇGoogleËÑË÷ÒýÇæÅÅÃûÔËËã·¨ÔòµÄÒ»²¿·Ö¡£
GoogleµÄPageRank¸ù¾ÝÍøÕ¾µÄÍⲿÁ´½ÓºÍÄÚ²¿Á´½ÓµÄÊýÁ¿ºÍÖÊÁ¿À´ºâÁ¿ÍøÕ¾µÄ¼ÛÖµ¡£PageRank±³ºóµÄ¸ÅÄîÊÇ£¬Ã¿¸öµ½Ò³ÃæµÄÁ´½Ó¶¼ÊǶԸÃÒ³ÃæµÄÒ»´ÎͶƱ£¬±»Á´½ÓµÄÔ½¶à£¬¾ÍÒâζ×ű»ÆäËûÍøÕ¾Í¶Æ±Ô½¶à¡£Õâ¸ö¾ÍÊÇËùνµÄ"Á´½ÓÁ÷ÐжÈ"--ºâÁ¿¶àÉÙÈËÔ¸Ò⽫ËûÃǵÄÍøÕ¾ºÍÄãµÄÍøÕ¾¹Ò¹³¡£PageRankÕâ¸ö¸ÅÄîÒý×ÔѧÊõÖÐһƪÂÛÎĵı»ÒýÊöµÄƵ¶È--¼´±»±ðÈËÒýÊöµÄ´ÎÊýÔ½¶à£¬Ò»°ãÅжÏÕâÆªÂÛÎĵÄȨÍþÐÔ¾ÍÔ½¸ß¡£
µ«ÊÇÕâÑùµÄÒ»ÖÖÅÅÃû»úÖÆµ¼ÖºóÀ´³öÏÖÁËSEOÖеÄÁ´½ÓÏúÊۺͽ»»»²ßÂÔ£¬Êг¡·ºÀĵÄͬʱ£¬Ò²ÈÃËÑË÷µÄ׼ȷÂʲ»¶ÏϽµ¡£Òò´ËGoogleͨ¹ýÐ޸ĹæÔò£¬¶ÔÏà¹Ø¶È²»¸ßµÄÍøÒ³ÖÐÁ´½Ó£¬ÒÔ¼°È±·¦ÄÚÈݵÄÁ´½Ó¹¤³§£¨Link Farm£©½øÐÐÁËÅųý¡£Í¬Ê±½µµÍÁËPRÖµµÃ¸üÐÂÆµÂÊ£¬Ò»°ãÒ»Äê¸üÐÂËĴΣ¬ÒÖÖÆÁË»¥ÁªÍøÁ´½ÓµÄ²»Õý³£·¢Õ¹¡£
µ±È»£¬Google×÷ΪÊÀ½çÉÏ×îÎªÖøÃûµÄËÑË÷ÒýÇæ£¨=¡£=£©£¬ËüµÄÅÅÃûËã·¨²»½ö½öÖ»ÊÇPageRank£¬PRÖ»ÊÇËüÅÅÃû¹æÔòµÄÒ»²¿·Ö¶øÒÑ¡£
¹ØÓÚÅÅÃû¹æÔòÓëÖ¸±ê£¬»¹Óиü¶àÆäËü¿¼ÂÇÒòËØ£¬ÈçÍøÕ¾ÓëÍøÕ¾ÄÚÈݵķûºÏ³Ì¶ÈµÈ£¬ÆäÖл¹Éæ¼°µ½·´ºÚñSEO×÷±×¼¼ÊõµÄÏà¹ØËã·¨¹æÔò¡£
ÅÅÃû×÷ΪËÑË÷ÒýÇæÃæÏòÓû§½Ó¿ÚµÄÖØÒªÒ»»·ÒÔ¼°Ò»¸ö¿É»ñµÃÀûÒæµã£¬Ôڰٶȵľº¼ÛÅÅÃû¹æÔòÖбíÏÖÃ÷ÏÔ¡£¶øGoogleÔò×ñÑÆä¡°Don¡¯t be evil¡±µÄ×éÖ¯ÎÄ»¯ÔÔò£¬¸ù¾ÝËÑË÷½á¹ûÌṩ¸ü´ó¿ÉÄܶÔÓû§ÓÐÓÃµÄ¹ã¸æ²úÆ·À´»ñÈ¡ÊÕÒæ£¬´Ó¶ø±£Ö¤ÁË×ÔÉíËÑË÷ÒýÇæÅÅÃûµÄ¹«ÕýÐÔºÍÓÐÓÃÐÔ¡£
ÅÅÃûËã·¨¹æÔòºÍ·½Ê½×Ôµ®ÉúÒÔÀ´¾Í¹ãÊÜÕùÒ飬վÔڳɱ¾½Ç¶È¿¼Á¿£¬ÒªÎ¬³ÖÒ»¸öÆÕÊÊÐÔÇ¿µÄËÑË÷ÒýÇæµÄÕý³£Á¼ºÃÔË×÷£¬ÐèÒª¾Þ´óµÄÈËÁ¦ºÍ»úÆ÷³É±¾£¬Èç¹û²»ÄÜ´ÓÖлñÈ¡ÊÕÒæ£¬¶ÔÔËÐÐά»¤¹«Ë¾À´Ëµ½«ÊǾ޴óµÄËðʧ¡£µ«ÊÇÔÚ»¥ÁªÍøÊ±´úÐé¼ÙÏûÏ¢ºáÐеÄʱ´ú£¬·´Ðé¼Ù¡¢·´ÄóÔìÐÅÏ¢µÄÔðÈθü¶àµÄ·Åµ½ÁË×÷Ϊ»¥ÁªÍøÍøÒ³Èë¿ÚµÄËÑË÷ÒýÇæµÄÉíÉÏ£¬´ÙʹËüÃDz»¶ÏµÄ¸ü¸Ä×Ô¼ºµÄËã·¨£¬Ìí¼ÓÐµĹæÔò£¬À´ÈÃÓû§µÃµ½ÕæÊµÓÐЧµÄÐÅÏ¢¡£
Èý¡¢Lucene
1.¸ÅÄî
SolrºÍElasticsearch¶¼ÊÇ»ùÓÚLuceneʵÏֵġ£
LuceneÊÇapacheÈí¼þ»ù½ð»á4
jakartaÏîÄ¿×éµÄÒ»¸ö×ÓÏîÄ¿£¬ÊÇÒ»¸ö¿ª·ÅÔ´´úÂëµÄÈ«ÎļìË÷ÒýÇæ¹¤¾ß°ü£¬µ«Ëü²»ÊÇÒ»¸öÍêÕûµÄÈ«ÎļìË÷ÒýÇæ£¬¶øÊÇÒ»¸öÈ«ÎļìË÷ÒýÇæµÄ¼Ü¹¹£¬ÌṩÁËÍêÕûµÄ²éѯÒýÇæºÍË÷ÒýÒýÇæ£¬²¿·ÖÎı¾·ÖÎöÒýÇæ£¨Ó¢ÎÄÓëµÂÎÄÁ½ÖÖÎ÷·½ÓïÑÔ£©¡£
LuceneµÄÄ¿µÄÊÇΪÈí¼þ¿ª·¢ÈËÔ±Ìṩһ¸ö¼òµ¥Ò×ÓõŤ¾ß°ü£¬ÒÔ·½±ãµÄÔÚÄ¿±êϵͳÖÐʵÏÖÈ«ÎļìË÷µÄ¹¦ÄÜ£¬»òÕßÊÇÒÔ´ËΪ»ù´¡½¨Á¢ÆðÍêÕûµÄÈ«ÎļìË÷ÒýÇæ¡£LuceneÌṩÁËÒ»¸ö¼òµ¥È´Ç¿´óµÄÓ¦ÓóÌʽ½Ó¿Ú£¬Äܹ»×öÈ«ÎÄË÷ÒýºÍËÑѰ¡£ÔÚJava¿ª·¢»·¾³ÀïLuceneÊÇÒ»¸ö³ÉÊìµÄÃâ·Ñ¿ªÔ´¹¤¾ß¡£ÐÅÏ¢¼ìË÷³ÌÐò¿â£¬ËäÈ»ÓëËÑË÷ÒýÇæÓйأ¬µ«²»Ó¦¸Ã½«ÐÅÏ¢¼ìË÷³ÌÐò¿âÓëËÑË÷ÒýÇæÏà»ìÏý¡£
È«ÎÄËÑË÷ÒýÇæ£º¹úÍâ¾ß´ú±íÐÔµÄÓÐGoogle¡¢Fast/AllTheWeb¡¢AltaVista¡¢Inktomi¡¢Teoma¡¢WiseNutµÈ£¬¹úÄÚÖøÃûµÄÓаٶȣ¨Baidu£©¡£
2.µ¹ÅÅË÷Òý
http://baike.baidu.com/item/ %E5%80%92%E6%8E%92% E7%B4%A2%E5%BC%95/ 11001569#reference- [2]-676861-wrap
2.1¸ÅÄî
µ¹ÅÅË÷ÒýÔ´ÓÚʵ¼ÊÓ¦ÓÃÖÐÐèÒª¸ù¾ÝÊôÐÔµÄÖµÀ´²éÕҼǼ¡£ÕâÖÖË÷Òý±íÖеÄÿһÏî¶¼°üÀ¨Ò»¸öÊôÐÔÖµºÍ¾ßÓиÃÊôÐÔÖµµÄ¸÷¼Ç¼µÄµØÖ·¡£ÓÉÓÚ²»ÊÇÓɼǼÀ´È·¶¨ÊôÐÔÖµ£¬¶øÊÇÓÉÊôÐÔÖµÀ´È·¶¨¼Ç¼µÄλÖã¬Òò¶ø³ÆÎªµ¹ÅÅË÷Òý(inverted index)¡£
2.2Ó¦Óñ³¾°
ÔÚ¹ØÏµÊý¾Ý¿âϵͳÀË÷ÒýÊǼìË÷Êý¾Ý×îÓÐЧÂʵķ½Ê½,¡£µ«¶ÔÓÚËÑË÷ÒýÇæ£¬Ëü²¢²»ÄÜÂú×ãÆäÌØÊâÒªÇó:
1)º£Á¿Êý¾Ý:ËÑË÷ÒýÇæÃæ¶ÔµÄÊǺ£Á¿Êý¾Ý£¬ÏñGoogle£¬°Ù¶ÈÕâÑù´óÐ͵ÄÉÌÒµËÑË÷ÒýÇæË÷Òý¶¼ÊÇÒÚ¼¶ÉõÖÁ°ÙÒÚ¼¶µÄÍøÒ³ÊýÁ¿£¬Ãæ¶ÔÈç´Ëº£Á¿Êý¾Ý,ʹµÃÊý¾Ý¿âϵͳºÜÄÑÓÐЧµÄ¹ÜÀí¡£
2)Êý¾Ý²Ù×÷¼òµ¥:ËÑË÷ÒýÇæÊ¹ÓõÄÊý¾Ý²Ù×÷¼òµ¥,Ò»°ã¶øÑÔ,Ö»ÐèÒªÔö¡¢É¾¡¢¸Ä¡¢²é¼¸¸ö¹¦ÄÜ,¶øÇÒÊý¾Ý¶¼ÓÐÌØ¶¨µÄ¸ñʽ,¿ÉÒÔÕë¶ÔÕâЩӦÓÃÉè¼Æ³ö¼òµ¥¸ßЧµÄÓ¦ÓóÌÐò¡£¶øÒ»°ãµÄÊý¾Ý¿âϵͳÔòÖ§³Ö´ó¶øÈ«µÄ¹¦ÄÜ,ͬʱËðʧÁËËٶȺͿռ䡣×îºó,ËÑË÷ÒýÇæÃæÁÙ´óÁ¿µÄÓû§¼ìË÷ÐèÇó,ÕâÒªÇóËÑË÷ÒýÇæÔÚ¼ìË÷³ÌÐòµÄÉè¼ÆÉÏÒª·ÖÃë±ØÕù,¾¡¿ÉÄܵĽ«´óÔËËãÁ¿µÄ¹¤×÷ÔÚË÷Òý½¨Á¢Ê±Íê³É,ʹ¼ìË÷ÔËË㾡Á¿µÄÉÙ¡£Ò»°ãµÄÊý¾Ý¿âϵͳºÜÄѳÐÊÜÈç´Ë´óÁ¿µÄÓû§ÇëÇó,¶øÇÒÔÚ¼ìË÷ÏìӦʱ¼äºÍ¼ìË÷²¢·¢¶ÈÉ϶¼²»¼°ÎÒÃÇרÃÅÉè¼ÆµÄË÷Òýϵͳ¡£
2.3¸ÅÄî±æÎö
2.3.1µ¹ÅÅÁбí
ÀûÓõ¹ÅÅË÷Òý·½Ê½¹¹½¨¶ø³ÉµÄµ¥´ÊÓëÎĵµµÄÓ³É䣬ÆäÖÐÎĵµ²¿·ÖµÄ½á¹¹¾ÍÊǵ¹ÅÅÁÐ±í¡£
µ¹ÅÅÁбíÓÃÀ´¼Ç¼ÓÐÄÄЩÎĵµ°üº¬ÁËij¸öµ¥´Ê¡£Ò»°ãÔÚÎĵµ¼¯ºÏÀï»áÓкܶàÎĵµ°üº¬Ä³¸öµ¥´Ê£¬Ã¿¸öÎĵµ»á¼Ç¼Îĵµ±àºÅ£¨DocID£©£¬µ¥´ÊÔÚÕâ¸öÎĵµÖгöÏֵĴÎÊý£¨TF£©¼°µ¥´ÊÔÚÎĵµÖÐÄÄЩλÖóöÏÖ¹ýµÈÐÅÏ¢£¬ÕâÑùÓëÒ»¸öÎĵµÏà¹ØµÄÐÅÏ¢±»³Æ×öµ¹ÅÅË÷ÒýÏPosting£©£¬°üº¬Õâ¸öµ¥´ÊµÄһϵÁе¹ÅÅË÷ÒýÏîÐγÉÁËÁбí½á¹¹£¬Õâ¾ÍÊÇij¸öµ¥´Ê¶ÔÓ¦µÄµ¹ÅÅÁÐ±í¡£
ÔÚʵ¼ÊµÄËÑË÷ÒýÇæÏµÍ³ÖУ¬²¢²»´æ´¢µ¹ÅÅË÷ÒýÏîÖеÄʵ¼ÊÎĵµ±àºÅ£¬¶øÊÇ´úÖ®ÒÔÎĵµ±àºÅ²îÖµ£¨D-Gap£©¡£Îĵµ±àºÅ²îÖµÊǵ¹ÅÅÁбíÖÐÏàÁÚµÄÁ½¸öµ¹ÅÅË÷ÒýÏîÎĵµ±àºÅµÄ²îÖµ£¬Ò»°ãÔÚË÷Òý¹¹½¨¹ý³ÌÖУ¬¿ÉÒÔ±£Ö¤µ¹ÅÅÁбíÖкóÃæ³öÏÖµÄÎĵµ±àºÅ´óÓÚ֮ǰ³öÏÖµÄÎĵµ±àºÅ£¬ËùÒÔÎĵµ±àºÅ²îÖµ×ÜÊÇ´óÓÚ0µÄÕûÊý¡£Ö®ËùÒÔÒª¶ÔÎĵµ±àºÅ½øÐвîÖµ¼ÆË㣬Ö÷ÒªÔÒòÊÇΪÁ˸üºÃµØ¶ÔÊý¾Ý½øÐÐѹËõ£¬ÔʼÎĵµ±àºÅÒ»°ã¶¼ÊÇ´óÊýÖµ£¬Í¨¹ý²îÖµ¼ÆË㣬¾ÍÓÐЧµØ½«´óÊýֵת»»ÎªÁËСÊýÖµ£¬¶øÕâÓÐÖúÓÚÔö¼ÓÊý¾ÝµÄѹËõÂÊ¡£
2.3.2µ¹ÅÅË÷Òý
https://zh.wikipedia.org/wiki/ %E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95
µ¹ÅÅË÷Òý£¨Inverted index£©£¬Ò²³£±»³ÆÎª·´ÏòË÷Òý¡¢ÖÃÈëµµ°¸»ò·´Ïòµµ°¸£¬ÊÇÒ»ÖÖË÷Òý·½·¨£¬±»ÓÃÀ´´æ´¢ÔÚÈ«ÎÄËÑË÷ÏÂij¸öµ¥´ÊÔÚÒ»¸öÎĵµ»òÕßÒ»×éÎĵµÖеĴ洢λÖõÄÓ³Éä¡£ËüÊÇÎĵµ¼ìË÷ϵͳÖÐ×î³£ÓõÄÊý¾Ý½á¹¹¡£Í¨¹ýµ¹ÅÅË÷Òý£¬¿ÉÒÔ¸ù¾Ýµ¥´Ê¿ìËÙ»ñÈ¡°üº¬Õâ¸öµ¥´ÊµÄÎĵµÁÐ±í¡£µ¹ÅÅË÷ÒýÖ÷ÒªÓÉÁ½¸ö²¿·Ö×é³É£º¡°µ¥´Ê´Êµä¡±ºÍ¡°µ¹ÅÅÎļþ¡±¡£
µ¹ÅÅË÷ÒýÓÐÁ½ÖÖ²»Í¬µÄ·´ÏòË÷ÒýÐÎʽ£º
Ò»Ìõ¼Ç¼µÄˮƽ·´ÏòË÷Òý£¨»òÕß·´Ïòµµ°¸Ë÷Òý£©°üº¬Ã¿¸öÒýÓõ¥´ÊµÄÎĵµµÄÁÐ±í¡£
Ò»¸öµ¥´ÊµÄˮƽ·´ÏòË÷Òý£¨»òÕßÍêÈ«·´ÏòË÷Òý£©ÓÖ°üº¬Ã¿¸öµ¥´ÊÔÚÒ»¸öÎĵµÖеÄλÖá£
ºóÕßµÄÐÎʽÌṩÁ˸ü¶àµÄ¼æÈÝÐÔ£¨±ÈÈç¶ÌÓïËÑË÷£©£¬µ«ÊÇÐèÒª¸ü¶àµÄʱ¼äºÍ¿Õ¼äÀ´´´½¨¡£
ÏÖ´úËÑË÷ÒýÇæµÄË÷Òý¶¼ÊÇ»ùÓÚµ¹ÅÅË÷Òý¡£Ïà±È¡°Ç©ÃûÎļþ¡±¡¢¡°ºó׺Ê÷¡±µÈË÷Òý½á¹¹£¬¡°µ¹ÅÅË÷Òý¡±ÊÇʵÏÖµ¥´Êµ½ÎĵµÓ³Éä¹ØÏµµÄ×î¼ÑʵÏÖ·½Ê½ºÍ×îÓÐЧµÄË÷Òý½á¹¹¡£
2.3.2.1¹¹½¨·½·¨
¹¹½¨·½·¨Óмòµ¥·¨ºÍºÏ²¢·¨Á½ÖÖ¡£
¼òµ¥·¨£º
Ë÷ÒýµÄ¹¹½¨Ï൱ÓÚ´ÓÕýÅÅ±íµ½µ¹ÅűíµÄ½¨Á¢¹ý³Ì¡£µ±ÎÒÃÇ·ÖÎöÍêÍøÒ³Ê±,µÃµ½µÄÊÇÒÔÍøÒ³ÎªÖ÷ÂëµÄË÷Òý±í¡£µ±Ë÷Òý½¨Á¢Íê³Éºó,Ó¦µÃµ½µ¹Åűí,Á÷³ÌÃèÊöÈçÏ£º
1£©½«Îĵµ·ÖÎö³Éµ¥´Êterm£¬
2£©Ê¹ÓÃhashÈ¥ÖØµ¥´Êterm
3£©¶Ôµ¥´ÊÉú³Éµ¹ÅÅÁбí
µ¹ÅÅÁбí¾ÍÊÇÎĵµ±àºÅDocID£¬Ã»Óаüº¬ÆäËûµÄÐÅÏ¢£¨Èç´ÊƵ£¬µ¥´ÊλÖõȣ©£¬Õâ¾ÍÊǼòµ¥µÄË÷Òý¡£
Õâ¸ö¼òµ¥Ë÷Òý¹¦ÄÜ¿ÉÒÔÓÃÓÚСÊý¾Ý£¬ÀýÈçË÷Òý¼¸Ç§¸öÎĵµ¡£È»¶øËüÓÐÁ½µãÏÞÖÆ£º
1£©ÐèÒªÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢µ¹ÅÅ±í£¬¶ÔÓÚËÑË÷ÒýÇæÀ´Ëµ£¬¶¼ÊÇG¼¶±ðÊý¾Ý£¬ÌرðÊǵ±¹æÄ£²»¶ÏÀ©´óʱ,ÎÒÃǸù±¾²»¿ÉÄÜÌṩÕâô¶àµÄÄÚ´æ¡£
2£©Ëã·¨ÊÇ˳ÐòÖ´ÐУ¬²»±ãÓÚ²¢Ðд¦Àí¡£
ºÏ²¢·¨£º
¹é²¢·¨£¬¼´Ã¿´Î½«ÄÚ´æÖÐÊý¾ÝдÈë´ÅÅÌʱ£¬°üÀ¨´ÊµäÔÚÄÚµÄËùÓÐÖмä½á¹ûÐÅÏ¢¶¼±»Ð´Èë´ÅÅÌ£¬ÕâÑùÄÚ´æËùÓÐÄÚÈݶ¼¿ÉÒÔ±»Çå¿Õ£¬ºóÐø½¨Á¢Ë÷Òý¿ÉÒÔʹÓÃÈ«²¿µÄ¶¨¶îÄÚ´æ¡£
ºÏ²¢Á÷³Ì£º
1£©Ò³Ãæ·ÖÎö£¬Éú³ÉÁÙʱµ¹ÅÅÊý¾ÝË÷ÒýA£¬B£¬µ±ÁÙʱµ¹ÅÅÊý¾ÝË÷ÒýA£¬BÕ¼ÂúÄÚ´æºó£¬½«ÄÚ´æË÷ÒýA£¬BдÈëÁÙʱÎļþÉú³ÉÁÙʱµ¹ÅÅÎļþ£¬
2)¶ÔÉú³ÉµÄ¶à¸öÁÙʱµ¹ÅÅÎļþ,Ö´Ðж෹鲢,Êä³öµÃµ½×îÖյĵ¹ÅÅÎļþ(
inverted file)¡£
Ë÷Òý´´½¨¹ý³ÌÖеÄÒ³Ãæ·ÖÎö,ÌØ±ðÊÇ·Ö´ÊΪÖ÷Ҫʱ¼ä¿ªÏú¡£Ëã·¨µÄµÚ¶þ²½Ïà¶ÔºÜ¿ì¡£ÕâÑù´´½¨Ë÷ÒýËã·¨µÄÓÅ»¯¾Í¼¯ÖÐÔÚ·Ö´ÊЧÂÊÉÏÁË¡£
2.3.2.2¸üвßÂÔ
¸üвßÂÔÓÐËÄÖÖ£ºÍêÈ«ÖØ½¨¡¢Ôٺϲ¢²ßÂÔ¡¢ÔµØ¸üвßÂÔÒÔ¼°»ìºÏ²ßÂÔ¡£
1£©ÍêÈ«ÖØ½¨²ßÂÔ£ºµ±ÐÂÔöÎĵµµ½´ïÒ»¶¨ÊýÁ¿£¬½«ÐÂÔöÎĵµºÍÔÏȵÄÀÏÎĵµÕûºÏ£¬È»ºóÀûÓþ²Ì¬Ë÷Òý´´½¨·½·¨¶ÔËùÓÐÎĵµÖؽ¨Ë÷Òý£¬ÐÂË÷Òý½¨Á¢Íê³ÉºóÀÏË÷Òý»á±»ÒÅÆú¡£´Ë·¨´ú¼Û¸ß£¬µ«ÊÇÖ÷Á÷ÉÌÒµËÑË÷ÒýÇæÒ»°ãÊDzÉÓô˷½Ê½À´Î¬»¤Ë÷ÒýµÄ¸üС£
2£©Ôٺϲ¢²ßÂÔ£ºµ±ÐÂÔöÎĵµ½øÈëϵͳ£¬½âÎöÎĵµ£¬Ö®ºó¸üÐÂÄÚ´æÖÐά»¤µÄÁÙʱË÷Òý£¬ÎĵµÖгöÏÖµÄÿ¸öµ¥´Ê£¬ÔÚÆäµ¹ÅűíÁбíĩβ׷¼Óµ¹ÅűíÁбíÏһµ©ÁÙʱË÷Òý½«Ö¸¶¨ÄÚ´æÏûºÄ¹â£¬¼´½øÐÐÒ»´ÎË÷ÒýºÏ²¢£¬ÕâÀïÐèÒªµ¹ÅÅÎļþÀïµÄµ¹ÅÅÁÐ±í´æ·Å˳ÐòÒѾ°´ÕÕË÷Òýµ¥´Ê×Öµä˳ÐòÓɵ͵½¸ßÅÅÐò£¬ÕâÑùÖ±½Ó˳ÐòɨÃèºÏ²¢¼´¿É¡£ÆäȱµãÊÇ£ºÒòΪҪÉú³Éеĵ¹ÅÅË÷ÒýÎļþ£¬ËùÒÔ¶ÔÀÏË÷ÒýÖеĺܶ൥´Ê£¬¾¡¹ÜÆäÔÚµ¹ÅÅÁÐ±í²¢Î´·¢ÉúÈκα仯£¬Ò²ÐèÒª½«Æä´ÓÀÏË÷ÒýÖÐÈ¡³öÀ´²¢Ð´ÈëÐÂË÷ÒýÖУ¬ÕâÑù¶Ô´ÅÅÌÏûºÄÊÇû±ØÒªµÄ¡£
3£©ÔµØ¸üвßÂÔ£ºÊÔͼ¸Ä½øÔٺϲ¢²ßÂÔ£¬ÔÚԵغϲ¢µ¹ÅÅ±í£¬ÕâÐèÒªÌáǰ·ÖÅäÒ»¶¨µÄ¿Õ¼ä¸øÎ´À´²åÈ룬Èç¹ûÌáǰ·ÖÅäµÄ¿Õ¼ä²»¹»ÁËÐèÒªÇ¨ÒÆ¡£Êµ¼ÊÏÔʾ£¬ÆäË÷Òý¸üеÄЧÂʱÈÔٺϲ¢²ßÂÔÒªµÍ¡£
4£©»ìºÏ²ßÂÔ£º³ö·¢µãÊÇÄܹ»½áºÏ²»Í¬Ë÷Òý¸üвßÂԵij¤´¦£¬½«²»Í¬Ë÷Òý¸üвßÂÔ»ìºÏ£¬ÒÔÐγɸü¸ßЧµÄ·½·¨¡£
ËÄ¡¢Solr
http://www.importnew.com /12707.html
ËÑË÷×ÜÌåÉÏ»®·ÖΪÁ½¸ö¹ý³ÌË÷ÒýºÍËÑË÷¡£

1.Ë÷Òý(Indexing)
Sorl/Lucene²ÉÓõÄÊÇ·½ÏòË÷Òý·½Ê½£¬¼´´Ó¹Ø¼ü´Êµ½ÎĵµµÄÓ³Éä¹ý³Ì¡£
ͨ¹ý¹¹½¨¹Ø¼ü´ÊºÍÎĵµÖ®¼äµÄ¹ØÏµ£¬ÔÚ²éѯ¹Ø¼ü´ÊµÄ¹ý³ÌÖÐÄܹ»¿ìËÙ¶¨Î»ÎĵµÎ»Öá£
Ë÷Òý´´½¨²½Ö裺
1.1Ë÷ÒýÎĵµ´ÊÌõ»¯£¨ÎĵµDocument-´Ê»ãµ¥ÔªToken£©
°ÑÔʼ´ýË÷ÒýÎĵµÄÚÈݽ»¸ø·Ö´Ê×é¼þ£¨Tokenizer£©£¬·Ö´Ê×é¼þͨ¹ýTokenize¹ý³Ì½«Îĵµ·Ö½âΪ´Ê»ãµ¥Ôª£¨Token£©¡£
ÆäÖÐTokenize¹ý³Ì°üº¬ÕâЩ²Ù×÷£º
1.½«Îĵµ·Ö³Éµ¥´Ê
2.È¥³ýÎĵµÖеıêµã·ûºÅ
3.È¥³ýÍ£´Ê£¨Stop word£©£¨Í£´Ê£¬¼´ÓïÑÔÖ®ÖеÄÖú´Ê£¬Î½ÓïµÈûÓÐʵ¼Êº¬ÒåµÄ´Ê¡£Àý£ºÓ¢ÓïÖеġ°a¡±£¬¡°the¡±£¬ÖÐÎÄÖеġ°°¡¡±£¬¡°°¦¡±£¬¡°Ö®¡±£¬¡°ºõ¡±£¬¡°Õß¡±£¬¡°Ò²¡±µÈ£©
1.2ÓïÑÔ·ÖÎöÔÙ´¦Àí£¨´Ê»ãµ¥ÔªToken-´ÊTerm£©
´Ë¹ý³ÌÊÇÓïÑÔ´¦Àí×é¼þ£¨Linguistic Processor£©¶Ô´Ê»ãµ¥ÔªTokenµÄÔÙ´¦Àí¹¤×÷£¬Í¨³£ÊǸù¾Ý²»Í¬µÄÓïÖÖÀ´½øÐÐÏàÓ¦µÄÌØÐÔ´¦Àí£¬ÈçÓ¢ÓïÓïÖÖ»á½øÐеIJÙ×÷£º±äΪСд£¨Lowercase£©£¬µ¥´ÊËõΪ´Ê¸ùÐÎʽ£¨stemming£©£¬µ¥´Êת±äΪ´Ê¸ùÐÎʽ£¨Lemmatization£©µÈ¡£
´Ê»ãµ¥ÔªToken¾¹ý´Ë¹ý³Ì´¦ÀíºóµÄµ½´Ê£¨Term£©
1.3µ¹ÅÅË÷Òý¹¹½¨Ë÷Òý¿â
´Ë¹ý³Ì»áÓÉË÷Òý×é¼þ£¨Indexer£©½«ÉÏÒ»²½µÄ´ÊTermÓëÎĵµDocumentÖ®¼ä½¨Á¢Ë÷Òý¹ØÏµ£¬´Ó¶øÐγÉË÷Òý¿â¡£ÔÚÕâ¸ö¹ý³ÌÖÐË÷Òý×é¼þ»á¶ÔËùÓеĴʽøÐд´½¨´Êµä£¬ÅÅÐò£¬ºÍºÏ²¢Ïàͬ´ÊµÈ²Ù×÷£¬´Ó¶ø±£Ö¤¿É¼ìË÷´ÊµÄΨһÐÔ¡£
Ë÷Òý¿âÖаüº¬ÁËһϼ¸ÁУº´Ê£¨Term£©£¬ÎĵµÆµÂÊ£¨Document Frequency£©£¬ÎĵµÖÐÔòÓµÓÐÎĵµID£¨Document ID£©£¬ÆµÂÊ£¨Frequency£©¡£ÆäÖУº
´Ê£¨Term£©£¬¼´Îª¹¹½¨Ë÷Òý¿âºóÒª¼ìË÷µÄ¹Ø¼ü´Ê¡£¶øËü¶ÔÓ¦µÄÎĵµÆµÂÊÔò±íÃ÷Õâ¸ö´ÊÔÚ¶àÉÙÆªÎĵµÖгöÏÖÁË¡£
ÎĵµÖеÄÎĵµIDÓÃÀ´ºÍ´ÊÁ´½Ó£¬´Ó¶øÄܸù¾Ý´ÊË÷Òýµ½Îĵµ£¬¶øÆµÂÊÔò˵Ã÷ÁË£¬ËùËÑË÷µÄ´ÊÔÚ¸ÃÎĵµÖгöÏֵĴÎÊý¡£
2.ËÑË÷£¨Search£©
ËÑË÷ÊÇÃæÏòÓû§½Ó¿ÚµÄÖ÷Òª²Ù×÷£¬¶Ô¼ìË÷µÄ´¦ÀíÊÇËÑË÷¼¼ÊõÊÇ·ñÄܹ»´ïµ½Ô¤ÆÚЧ¹ûµÄÖØÒªÒ»²½¡£
¼¼ÊõÔÀíºËÐÄ-¿Õ¼äÏòÁ¿Ä£ÐÍ
https://zh.wikipedia.org/wiki/ %E5%90%91%E9%87%8F%E7%A9% BA%E9%96%93%E6%A8%A1%E5%9E%8B
ÎÒÃÇÔÚ¹¹½¨Ë÷Òýʱ£¬½«ÎĵµÇзÖΪTerm£¬ÄÇôµ±ÎÒÃÇÒª¸ù¾Ý¹Ø¼ü´Ê»òÕßÓï¾ä½øÐмìË÷ʱ£¬Ôõôͨ¹ýÓï¾äÀ´Ñ°ÕÒTerm£¬ÔÙͨ¹ýTermÀ´ÕÒµ½¶ÔÓ¦µÄÎĵµÄØ£¿
·´¹ýÀ´Ï룬¸ù¾ÝÃæÏòÎĵµµÄ˼Ï룬ÆäʵÓû§½çÃæÊäÈëµÄ¹Ø¼ü´ÊÒ²ÊÇһƪÎĵµ¡£ÄÇôµ±ÎÒÃÇʹÓù¹½¨Ë÷ÒýµÄ²Ù×÷¶Ô¹Ø¼ü´Ê½øÐзִʹ¹½¨Ë÷ÒýÖ®ºó£¬Í¨¹ýÕâЩË÷ÒýÈ¥ËÑË÷Æ¥ÅäË÷ÒýÊý¾Ý¿âÖеÄË÷Òý£¬¾Í¿ÉÒÔÕÒµ½Ïà¶ÔÓ¦µÄ½á¹ûÁË¡£
¶øÆ¥ÅäËÑË÷Ö®ºóÎÒÃÇÐèÒª¸ù¾Ý¹Ø¼ü´ÊºÍ¸÷ÎĵµÖ®¼äµÄÏà¹ØÐÔ½øÐÐÅÅÐò£¬Õâʱºò֮ǰ¶Ô¹Ø¼ü´Ê¹¹½¨µÄË÷ÒýÓÖÅÉÉÏÁËÓó¡¡£ÕâÀïÎÒÃǾͿÉÒÔʹÓÿռäÏòÁ¿Ä£ÐÍËã·¨À´ÆÀ¼ÛÎĵµ½á¹û¼¯ÖеÄÎĵµµÄË÷ÒýºÍ¹Ø¼ü´ÊË÷ÒýÖ®¼äµÄÏà¹ØÐÔÁË¡£
Õâ¸ö¹ý³Ì£¬Æäʵ¾ÍÊÇѰÕÒÔÚÁ½ÆªÎĵµÖУ¬ÄÄЩ´Ê¶ÔÎĵµÖ®¼ä¹ØÏµµÄ¸üÖØÒª£¬ÄÄЩ×îÖØÒª£¬Ö÷ÒªÎĵµÖеĴÊÔÚ´ýÆ¥ÅäÎĵµÖгöÏÖÆµÂʵĸߵ͵Ĺý³Ì£¬Õâ¸öÅжϹؼü´ÊµÄTerm¶ÔÎĵµµÄTermµÄÖØÒªÐԵĹý³Ì³ÆÎª¼ÆËã´ÊµÄÈ¨ÖØ£¨Term Weight£©µÄ¹ý³Ì¡£
¼ÆËã´ÊµÄÈ¨ÖØÓÐÁ½¸ö²ÎÊý£ºÒ»ÊÇ´Ê£¨Term£©£¬¶þÊÇÎĵµ£¨Document£©¡£´ÊµÄÈ¨ÖØ±íʾ´Ë´ÊÔÚÎĵµÖеÄÖØÒª³Ì¶È£¬Ô½ÖØÒªµÄ´ÊÓÐÔ½´óµÄÈ¨ÖØ£¬ÒòΪiÔÚ¼ÆËãÎĵµÖ®¼äµÄÏà¹ØÐÔÖн«·¢»Ó¸ü´óµÄ×÷Óá£
ÏòÁ¿¿Õ¼äÄ£ÐÍËã·¨¾Í¿ÉÒÔÓÃÀ´ÅжϴÊÖ®¼äµÄ¹ØÏµ£¬´Ó¶øÁ¿»¯µÃµ½ÎĵµÖ®¼äµÄÏà¹ØÐÔ¡£
1.¼ÆËãÈ¨ÖØ£¨Term Weight£©µÄ¹ý³Ì
Ó°ÏìÒ»¸ö´Ê(Term)ÔÚһƪÎĵµÖеÄÖØÒªÐÔÖ÷ÒªÓÐÁ½¸öÒòËØ£º
1£©Term Frequency (tf)£º¼´´ËTermÔÚ´ËÎĵµÖгöÏÖÁ˶àÉٴΡ£tfÔ½´ó˵Ã÷Ô½ÖØÒª¡£
2£©Document Frequency
(df)£º¼´ÓжàÉÙÎĵµ°üº¬´ÎTerm¡£dfÔ½´ó˵Ã÷Ô½²»ÖØÒª¡£
µ±Ò»¸öTermÔÚijƪÎĵµÖгöÏֵĴÎÊýÔ½¶à£¬¼´tfÔ½´ó£¬ËµÃ÷ÎĵµµÄÖ÷Òª¹¤×÷¶¼ÊÇÔÚ½éÉÜ»òÕßÖØµãÒýÓÃÕâ¸ö¸ÅÄÄÇôËûÃÇÖ®¼äµÄÏà¹ØÐÔÒ²¾ÍÔ½¸ß£¬È¨ÖØÔ½´ó¡£¶øµ±ºÜ¶àµÄÎĵµ¶¼°üº¬ÕâÒ»¸öTermʱ£¬Õâ¸öTerm¶ÔÎĵµµÄÇø·ÖÐÔ¾ÍÔ½²î£¬¼´Í¨¹ýdfÖ¸±ê·Ç³£´óµÄTerm¸ü²»ÄÜÇø·Ö³öÎĵµÖ®¼äµÄÏà¹ØÐÔ£¬ËùÒÔ±íÏÖÎªÈ¨ÖØÔ½²»ÖØÒª¡£

ÉϹ«Ê½¼´Îª¼ÆËãÈ¨ÖØµÄÒ»¸ö¼òµ¥µäÐÍ£¬Êµ¼ÊÇé¿ö¿ÉÄÜ»áÓв»Í¬£¬µ«»ù±¾±ÈÏàͬ¡£
2.ÅжÏTermÖ®¼äµÄ¹ØÏµ´Ó¶øµÃµ½ÎĵµÏà¹ØÐԵĹý³Ì£¬Ò²¼´ÏòÁ¿¿Õ¼äÄ£ÐÍ£¨VSM£©µÄËã·¨
ÎÒÃǰÑÎĵµ¿´×öһϵÁÐTerm£¬Í¨¹ýºÍ¹Ø¼ü´ÊÎĵµµÄTermµÄ¼ÆË㣬ÿһ¸ö´Ê¶¼»ñµÃÁËÒ»¸öÈ¨ÖØ£¬Í¨¹ý¿Õ¼äÏòÁ¿Ä£ÐÍËã·¨£¬¸ù¾ÝÕâÐ©È¨ÖØ£¬À´Îª²»Í¬´ÊÓëÎĵµµÄÏà¹ØÐÔ¼ÆËã´ò·Ö¡£
ÎÒÃǰÑÎĵµÖеĴʵÄÈ«Öú¹¥¿´×öÒ»¸öÏòÁ¿£º
Document = {term1, term2, ¡¡ ,term N}
Document Vector = {weight1, weight2, ¡¡,weight N}
ҲͬÑù°Ñ¹Ø¼ü´Ê¿´×öÒ»¸öÎĵµ£¬ÓÃÏòÁ¿À´±íʾËüÃÇ£º
Query = {term1, term 2, ¡¡ , term N}
Query Vector = {weight1, weight2, ¡¡ ,weight N}
°ÑËùÓÐËÑË÷³öÀ´µÄÎĵµÏòÁ¿ÒÔ¼°²éѯÏòÁ¿·Åµ½Ò»¸öNά¿Õ¼äÖУ¬Ã¿¸öTermÊÇÒ»¸öά¶È¡£ÏòÁ¿¿Õ¼äµÄά¶ÈÊýÈ¡¶þÕßµÄTerm¼¯ºÏµÄ²¢¼¯¡£
µ±Á½¸öÏòÁ¿Ö®¼äµÄ¼Ð½Ç£¬¼´ÓàÏÒֵԽС£¬ÎÒÃǾÍÈËΪËûÃǵÄÏà¹ØÐÔÔ½´ó£¬Ëù¼ÆËãµÃµ½µÄÏà¹ØÐԵ÷ÖÒ²¾ÍÔ½¸ß¡£Ïà¹ØÐԵķÖÖµ¼ÆË㹫ʽÈçÏ£ºÍ¨¹ý½«¹Ø¼ü´ÊÎĵµÓë¼ìË÷½á¹û¼¯Öеĸ÷ÎĵµµÄ´ò·Ö·ÖÖµ£¬½øÐнµÐòÅÅÐò£¬¾ÍµÃµ½ÁËÕâ¸ö¹Ø¼ü´Ê¼ìË÷ºóµÄ¾ßÓÐÏà¹ØÐÔÅÅÐòµÄ½á¹ûÁÐ±í¡£
2.1¶Ô²éѯÄÚÈݽøÐдʷ¨·ÖÎö¡¢Óï·¨·ÖÎö¡¢ÓïÑÔ´¦Àí
´Ê·¨·ÖÎö£¬¼´Çø·Ö²éѯÄÚÈÝÖеĵ¥´ÊÓë¹Ø¼ü×Ö¡£¹Ø¼ü×ÖÀýÈ磺¡°and¡±£¬¡°not¡±µÈ¡£
Óï·¨·ÖÎö£¬Í¨¹ýÓï·¨·ÖÎö½«²éѯµ¥´ÊÓë¹Ø¼ü×ÖÇø·Ö¿ªÀ´Ö®ºó£¬¸ù¾Ý¶¨ÒåºÃµÄÓï·¨¹æÔò£¬ÐγÉÓï·¨Ê÷¡£

ÓïÑÔ´¦Àí£¬ÀàËÆÓÚË÷Òý½×¶ÎµÄÓïÑÔ·ÖÎö´¦Àí²¿·Ö£¬½«°üº¬ÊýÁ¿ºÍʱ̬µÈÊôÐԵĵ¥´Êת±äΪËüµÄÔÐÍ´Ê¡£Àý£º¡°bananas¡±µÄÔÐÍ´ÊΪ¡°banana¡±£¬¡°gone¡±»ò¡°went¡±µÄÔÐÍ´ÊΪ¡°go¡±¡£
2.2ËÑË÷Ë÷Òý£¬µÃµ½·ûºÏÓï·¨Ê÷µÄÎĵµ¼¯ºÏ
½«¾¹ý´Ê·¨·ÖÎö¡¢Óï·¨·ÖÎö¡¢ÓïÑÔ´¦Àí¹ýºóµÄÓï·¨Ê÷£¬ÔÚ¹¹½¨ºÃµÄË÷Òý¿âÖнøÐÐËæ»ú²éѯ£¬³õ²½µÃµ½ËùÓзûºÏÓï·¨Ê÷µÄÎĵµ¼¯ºÏ¡£
2.3¸ù¾Ý²éѯÓï¾äÓëÎĵµµÄÏà¹ØÐÔ£¬¶Ô½á¹û½øÐÐÅÅÐò
Ïà¹ØÐÔ´¦ÀíÏê¼û¡°¼¼ÊõÔÀíºËÐÄ-¿Ø¼þÏòÁ¿Ä£ÐÍ¡±Ò»½Ú¡£
ʵ¼ÊÓ¦ÓÃÖУ¬Ïà¹ØÐԵļÆËãÒòËØ²»Ö»ÓÐÎĵµ·Ö´ÊÈ¨ÖØ£¬ÔÚÉÌÒµ»¯ÔËÓªÖУ¬Èç°Ù¶È¾Í·¢Õ¹³öÁËÏ൱·á¸»µÄÈ羺¼ÛÅÅÃûµÄ¸ü¶àµÄÏà¹ØÐÔ¼ÆËãÒòËØ¡£
Ïà¹ØÐԵļ¼ÊõÔÀíÊǿռäÏòÁ¿Ä£ÐÍ£¬Æä±¾ÉíÒ²¾ßÓÐһЩ¾ÖÏÞÐÔ£º
1.²»ÊÊÓÃÓڽϳ¤µÄÎĵµ£¬ÒòΪËüµÄÏàËÆÖµ²»ÀíÏ루¹ýСµÄÄÚ»ýºÍ¹ý¸ßµÄάÊý£©¡£
2.¼ìË÷´Ê×鱨ÐëÓëÎĵµÖгöÏֵĴÊ×龫ȷƥÅ䣻´ÊÓï×Ó×Ö´®¿ÉÄܻᵼÖ¡°¼ÙÑôÐÔ¡±Æ¥Åä¡£
3.ÓïÒåÃô¸Ð¶È²»¼Ñ£»¾ßÓÐÏàͬµÄÓï¾³µ«Ê¹Óò»Í¬µÄ´Ê×éµÄÎĵµ²»Äܱ»¹ØÁªÆðÀ´£¬µ¼Ö¡°¼ÙÒõÐÔÆ¥Å䡱¡£
4.´Ê×éÔÚÎĵµÖгöÏÖµÄ˳ÐòÔÚÏòÁ¿ÐÎʽÖÐÎÞ·¨±íʾ³öÀ´¡£
5.¼Ù¶¨´Ê×éÔÚͳ¼ÆÉÏÊǶÀÁ¢µÄ¡£
6.È¨ÖØÊÇÖ±¹ÛÉÏ»ñµÃµÄ¶ø²»¹»Õýʽ¡£
Òò´Ë£¬ÔÚÏà¹ØÐÔÅÅÐòʱ£¬¿ÉÒÔÀûÓÃÆäËüµÄÊýѧ¼¼ÊõÈçÆæÒìÖµ·Ö½â»ò´Ê»ãÊý¾Ý¿âµÄ·½Ê½¶ÔËã·¨¾ÖÏÞ½øÐÐÃÖ²¹¡£
Îå¡¢ElasticSearch
1.Ïà¹Ø¸ÅÄî
1.1¼¯Èº-½Úµã
µ¥¸ö½Úµã¿ÉÒÔ×÷Ϊһ¸öÔËÐÐÖеÄElasticsearchµÄʵÀý¡£¶øÒ»¸ö¼¯ÈºÊÇÒ»×éÓµÓÐÏàͬcluster.nameµÄ½Úµã£¬ËûÃÇÄÜÒ»Æð¹¤×÷²¢¹²ÏíÊý¾Ý£¬»¹ÌṩÈÝ´íÓë¿ÉÉìËõÐÔ¡£(µ±È»£¬Ò»¸öµ¥¶ÀµÄ½ÚµãÒ²¿ÉÒÔ×é³ÉÒ»¸ö¼¯Èº)
¶à½Úµã×é³ÉµÄ¼¯ÈºÓµÓÐÈßÓàÄÜÁ¦£¬Ëü¿ÉÒÔÔÚÒ»¸ö»ò¼¸¸ö½Úµã³öÏÖ¹ÊÕÏʱ±£Ö¤·þÎñµÄÕûÌå¿ÉÓÃÐÔ¡£
1.2ÃæÏòÎĵµ£¨DO£©
ÔÚÓ¦ÓóÌÐòÖжÔÏóºÜÉÙÖ»ÊÇÒ»¸ö¼òµ¥µÄ¼üºÍÖµµÄÁÐ±í¡£Í¨³££¬ËüÃÇÓµÓиü¸´ÔÓµÄÊý¾Ý½á¹¹£¬¿ÉÄܰüÀ¨ÈÕÆÚ¡¢µØÀíÐÅÏ¢¡¢ÆäËû¶ÔÏó»òÕßÊý×éµÈ¡£
Ò²ÐíÓÐÒ»ÌìÄãÏë°ÑÕâЩ¶ÔÏó´æ´¢ÔÚÊý¾Ý¿âÖС£Ê¹ÓùØÏµÐÍÊý¾Ý¿âµÄÐкÍÁд洢£¬ÕâÏ൱ÓÚÊǰÑÒ»¸ö±íÏÖÁ¦·á¸»µÄ¶ÔÏó¼·Ñ¹µ½Ò»¸ö·Ç³£´óµÄµç×Ó±í¸ñÖУºÄã±ØÐ뽫Õâ¸ö¶ÔÏó±âƽ»¯À´ÊÊÓ¦±í½á¹¹--ͨ³£Ò»¸ö×ֶζÔÓ¦Ò»ÁжøÇÒÓÖ²»µÃ²»ÔÚÿ´Î²éÑ¯Ê±ÖØÐ¹¹Ôì¶ÔÏó¡£
ElasticsearchÊÇÃæÏòÎĵµµÄ£¬Òâζ×ÅËü´æ´¢Õû¸ö¶ÔÏó»òÎĵµ¡£Elasticsearch²»½ö´æ´¢Îĵµ£¬¶øÇÒË÷Òýÿ¸öÎĵµµÄÄÚÈÝʹ֮¿ÉÒÔ±»¼ìË÷¡£ÔÚElasticsearchÖУ¬Äã¶ÔÎĵµ½øÐÐË÷Òý¡¢¼ìË÷¡¢ÅÅÐòºÍ¹ýÂË£¬¶ø²»ÊǶÔÐÐÁÐÊý¾Ý¡£ÕâÊÇÒ»ÖÖÍêÈ«²»Í¬µÄ˼¿¼Êý¾ÝµÄ·½Ê½£¬Ò²ÊÇElasticsearchÄÜÖ§³Ö¸´ÔÓÈ«ÎļìË÷µÄÔÒò¡£
1.3Ë÷ÒýµÄ¸ÅÄî
Ãû´Ê¹ØÏµ£º
¼¯Èº-Ë÷Òý-ÀàÐÍ-Îĵµ-ÊôÐÔ£º
Ò»¸öElasticsearch¼¯Èº¿ÉÒÔ°üº¬¶à¸öË÷Òý£¬ÏàÓ¦µÄÿ¸öË÷Òý¿ÉÒÔ°üº¬¶à¸öÀàÐÍ¡£ÕâЩ²»Í¬µÄÀàÐÍ´æ´¢×Ŷà¸öÎĵµ£¬Ã¿¸öÎĵµÓÖÓжà¸öÊôÐÔ¡£
Ë÷Òý£¨Ãû´Ê£©£ºÈçǰËùÊö£¬Ò»¸öË÷ÒýÀàËÆÓÚ´«Í³¹ØÏµÊý¾Ý¿âÖеÄÒ»¸öÊý¾Ý¿â£¬ÊÇÒ»¸ö´æ´¢¹ØÏµÐÍÎĵµµÄµØ·½¡£
Ë÷Òý£¨¶¯´Ê£©£ºË÷ÒýÒ»¸öÎĵµ¾ÍÊÇ´æ´¢Ò»¸öÎĵµµ½Ò»¸öË÷Òý£¨Ãû´Ê£©ÖÐÒÔ±ãËü¿ÉÒÔ±»¼ìË÷ºÍ²éѯµ½¡£Õâ·Ç³£ÀàËÆÓÚSQLÓï¾äÖеÄINSERT¹Ø¼ü´Ê£¬³ýÁËÎĵµÒÑ´æÔÚʱÐÂÎĵµ»áÌæ»»¾ÉÎĵµÇé¿öÖ®Íâ¡£
µ¹ÅÅË÷Òý£º¹ØÏµÐÍÊý¾Ý¿âͨ¹ýÔö¼ÓÒ»¸öË÷Òý±ÈÈçÒ»¸öBÊ÷£¨B-tree£©Ë÷Òýµ½Ö¸¶¨µÄÁÐÉÏ£¬ÒÔ±ãÌáÉýÊý¾Ý¼ìË÷ËÙ¶È¡£ElasticsearchºÍLuceneʹÓÃÁËÒ»¸ö½Ð×öµ¹ÅÅË÷ÒýµÄ½á¹¹À´´ïµ½ÏàͬµÄÄ¿µÄ¡£
ĬÈϵģ¬Ò»¸öÎĵµÖеÄÿһ¸öÊôÐÔ¶¼ÊDZ»Ë÷ÒýµÄ£¨ÓÐÒ»¸öµ¹ÅÅË÷Òý£©ºÍ¿ÉËÑË÷µÄ¡£Ò»¸öûÓе¹ÅÅË÷ÒýµÄÊôÐÔÊDz»Äܱ»ËÑË÷µ½µÄ¡£
1.4·ÖƬ(Shard)ºÍ¸±±¾(Replica)
ESµÄ¡°·ÖƬ(shard)¡±»úÖÆ¿É½«Ò»¸öË÷ÒýÄÚ²¿µÄÊý¾Ý·Ö²¼µØ´æ´¢ÓÚ¶à¸ö½Úµã£¬Ëüͨ¹ý½«Ò»¸öË÷ÒýÇзÖΪ¶à¸öµ×²ãÎïÀíµÄLuceneË÷ÒýÍê³ÉË÷ÒýÊý¾ÝµÄ·Ö¸î´æ´¢¹¦ÄÜ£¬Õâÿһ¸öÎïÀíµÄLuceneË÷Òý³ÆÎªÒ»¸ö·ÖƬ(shard)¡£
ÿ¸ö·ÖƬÆäÄÚ²¿¶¼ÊÇÒ»¸öÈ«¹¦ÄÜÇÒ¶ÀÁ¢µÄË÷Òý£¬Òò´Ë¿ÉÓɼ¯ÈºÖеÄÈκÎÖ÷»ú´æ´¢¡£´´½¨Ë÷Òýʱ£¬Óû§¿ÉÖ¸¶¨Æä·ÖƬµÄÊýÁ¿£¬Ä¬ÈÏÊýÁ¿Îª5¸ö¡£
ShardÓÐÁ½ÖÖÀàÐÍ£ºprimaryºÍreplica£¬¼´Ö÷shard¼°¸±±¾shard¡£
Primary shardÓÃÓÚÎĵµ´æ´¢£¬Ã¿¸öеÄË÷Òý»á×Ô¶¯´´½¨5¸öPrimary
shard£¬µ±È»´ËÊýÁ¿¿ÉÔÚË÷Òý´´½¨Ö®Ç°Í¨¹ýÅäÖÃ×ÔÐж¨Ò壬²»¹ý£¬Ò»µ©´´½¨Íê³É£¬ÆäPrimary shardµÄÊýÁ¿½«²»¿É¸ü¸Ä¡£
Replica shardÊÇPrimary ShardµÄ¸±±¾£¬ÓÃÓÚÈßÓàÊý¾Ý¼°Ìá¸ßËÑË÷ÐÔÄÜ¡£
ÌØµã£º
1.ÿ¸öPrimary shardĬÈÏÅäÖÃÁËÒ»¸öReplica
shard£¬µ«Ò²¿ÉÒÔÅäÖöà¸ö£¬ÇÒÆäÊýÁ¿¿É¶¯Ì¬¸ü¸Ä¡£ES»á¸ù¾ÝÐèÒª×Ô¶¯Ôö¼Ó»ò¼õÉÙÕâЩReplica shardµÄÊýÁ¿¡£
2. ES¼¯Èº¿ÉÓɶà¸ö½Úµã×é³É£¬¸÷Shard·Ö²¼Ê½µØ´æ´¢ÓÚÕâЩ½ÚµãÉÏ¡£
3. ES¿É×Ô¶¯ÔÚ½Úµã¼ä°´ÐèÒªÒÆ¶¯shard£¬ÀýÈçÔö¼Ó½Úµã»ò½Úµã¹ÊÕÏʱ¡£¼ò¶øÑÔÖ®£¬·ÖƬʵÏÖÁ˼¯ÈºµÄ·Ö²¼Ê½´æ´¢£¬¶ø¸±±¾ÊµÏÖÁËÆä·Ö²¼Ê½´¦Àí¼°ÈßÓ๦ÄÜ¡£
2.ÔÀíʾÒâͼ

ÖøÃûµÄ¿ªÔ´³ÌÐòLuceneÊÇË÷Òý×é¼þ£¬ËüÌṩÁËËÑË÷³ÌÐòµÄºËÐÄË÷ÒýºÍËÑË÷Ä£¿é£¬ÀýÈçͼÖеġ°Index¡±¼°ÏÂÃæµÄ²¿·Ö£»¶øElasticSearchÔò¸üÏñÒ»¿îËÑË÷×é¼þ£¬ËüÀûÓÃLucene½øÐÐÎĵµË÷Òý£¬²¢ÏòÓû§ÌṩËÑË÷×é¼þ£¬ÀýÈç¡°Index¡±ÉÏÃæµÄ²¿·Ö¡£¶þÕß½áºÏÆðÀ´×é³ÉÁËÒ»¸öÍêÕûµÄËÑË÷ÒýÇæ¡£
3.ÉîÈë֪ʶÌÖÂÛ
3.1ESµÄ¾«È·Öµ£¨Exact Values£©ºÍÈ«ÎÄ£¨full-text£©ÀàÐÍ
ESµÄÊý¾Ý¿É±»¹ãÒåµÄ·ÖΪÁ½ÖÖÀàÐÍ£º¡°types:exact¡±ºÍ¡°full-text¡±¡£
¾«È·Öµ(Exact values)¾ÍÊÇÖ¸Êý¾ÝÎ´Ôø¼Ó¹¤¹ýµÄÔʼֵ£¬¶øFull-textÔòÓÃÓÚÒýÓÃÎı¾ÖеÄÊý¾Ý¡£
ÔÚ²éѯÖУ¬¾«È·ÖµÊǺÜÈÝÒ×½øÐÐËÑË÷µÄ£¬µ«full-textÔòÐèÒªÅжÏÎĵµÔÚ¡°¶à´ó³Ì¶ÈÉÏ¡±Æ¥Åä²éѯÇëÇ󣬻»¾ä»°½²£¬¼´ÐèÒªÆÀ¹ÀÎĵµÓë¸ø¶¨²éѯµÄÏà¹Ø¶È(relevant)¡£
ËùνµÄfull-text²éѯͨ³£ÊÇÖ¸ÔÚ¸ø¶¨µÄÎı¾ÓòÄÚ²¿ËÑË÷Ö¸¶¨µÄ¹Ø¼ü×Ö£¬µ«ËÑË÷²Ù×÷ÐèÒªÕæÕýÀí½â²éѯÕßµÄÄ¿µÄ¡£ÎªÁËÍê³É´ËÀàfull-textÓòµÄËÑË÷£¬ES±ØÐëÊ×ÏÈ·ÖÎöÎı¾²¢½«Æä¹¹½¨³ÉΪµ¹ÅÅË÷Òý(inverted index)£¬µ¹ÅÅË÷ÒýÓɸ÷ÎĵµÖгöÏֵĵ¥´ÊÁбí×é³É£¬ÁбíÖеĸ÷µ¥´Ê²»ÄÜÖØ¸´ÇÒÐèÒªÖ¸ÏòÆäËùÔڵĸ÷Îĵµ¡£
3.2µ¹ÅÅË÷Òý
µ¹ÅÅË÷ÒýµÄÔÀíÔÚµÚÈý²¿·Ö2С½ÚÒѾ½éÉÜ£¬ÕâÀïÖ÷Òª½éÉÜESÏµĹ¹½¨·Ö´Ê¹ý³Ì¡£
3.2.1·ÖÎö
ÈçÉÏһС½ÚËù½²£¬µ¹ÅÅË÷Òý¹¹½¨Íê³ÉÖ®ºóµÄË÷ÒýÒª±£Ö¤Äܹ»Íê³Éfull-textµÄËÑË÷¹¤×÷£¬ÄÇôÔÚ¹¹½¨Ë÷Òý¹ý³ÌÖнøÐжÔÓ¦µÄ·Ö´Ê£¨Tokenization£©²Ù×÷¾ÍÊDZØÒªµÄ¹ý³Ì¡£Õâ¸ö¹ý³Ì»á½«ÎĵµÖÐÓòµÄÖµÇзÖΪ¶ÀÁ¢µÄµ¥´Ê£¨Term»òToken£©¡£
ÖªµÀÁËËÑË÷ËùʹÓõĿռäÏòÁ¿Ä£ÐÍÔÀíºó£¬ÎÒÃÇÖªµÀ£¬ÒªÔÚËÑË÷½á¹ûÍê³Éºó½øÐÐÏàÓ¦µÄÆ¥Å䣬ÄÇôÔÚ¹¹½¨Ë÷ÒýºÍËÑË÷ʱ¹¹½¨Ë÷ÒýµÄ¹ý³ÌÖУ¬Ê¹ÓõķִÊÓï·¨¹æÔò±ØÐëÊÇͳһµÄ£¬Ò»Öµġ£ÔÚESÖУ¬Õâ¸ö¹ý³Ì½Ð×öÕý¹æ»¯£¨Normalization£©¡£Í¨¹ý½«Êý¾ÝͳһΪһ¸ö±ê×¼¸ñʽ£¬´Ó¶ø·½±ãËÑË÷Æ¥ÅäÒÔ¼°½á¹ûÏà¹ØÐԵĺâÁ¿¡£
ÕâÀïµÄ·Ö´Ê£¨Tokenization£©ÒÔ¼°Õý¹æ»¯£¨Normalization£©Ò²³ÆÎª·ÖÎö£¨Analysis£©¡£
·ÖÎö¹ý³ÌÓÐÁ½¸ö²½ÖèµÄ²Ù×÷×é³É£¬¶¼ÓÉÖ¸¶¨µÄ·ÖÎöÆ÷£¨Analyzers£©Íê³É£º
1£©Ê×ÏÈ£¬½«Îı¾ÇзÖΪTermÒÔÊʺϹ¹½¨µ¹ÅÅË÷Òý£»
2£©Æä´Î£¬½«¸÷TermÕý¹æ»¯Îª±ê×¼¸ñʽÒÔÌáÉýÆä¡°¿ÉËÑË÷¶È¡±¡£
3.2.2·ÖÎöÆ÷
Ò»¸ö·ÖÎöÆ÷ͨ³£ÓÉÈý¸ö×é¼þ¹¹³É£º×Ö·û¹ýÂËÆ÷(Character filters)¡¢·Ö´ÊÆ÷(Tokenizer)ºÍ·Ö´Ê¹ýÂËÆ÷(Token filters)×é³É¡£
×Ö·û¹ýÂËÆ÷(Character
filters)£ºÔÚÎı¾±»Çиî֮ǰ½øÐÐÇåÀí²Ù×÷£¬ÀýÈçÒÆ³ýHTML±êÇ©£¬½«&Ìæ»»Îª×Ö·ûµÈ£»
·Ö´ÊÆ÷(Tokenizer)£º½«Îı¾ÇзÖΪ¶ÀÁ¢µÄ´ÊÏ¼òµ¥µÄ·Ö´ÊÆ÷ͨ³£ÊǸù¾Ý¿Õ°×¼°±êµã·ûºÅ½øÐÐÇз֣»
·Ö´Ê¹ýÂËÆ÷(Token
filters)£º×ª»»×Ö·û(È罫´óдתΪСд)¡¢ÒƳý´ÊÏî(ÈçÒÆ³ýa¡¢an¡¢of¼°theµÈ)»òÕßÌí¼Ó´ÊÏî(ÀýÈ磬Ìí¼ÓͬÒå´Ê)£»
ElasticsearchÄÚÖÃÁËÐí¶à×Ö·û¹ýÂËÆ÷¡¢·Ö´ÊÆ÷ºÍ·Ö´Ê¹ýÂËÆ÷£¬Óû§¿É°´Ð轫ËüÃÇ×éºÏ³É¡°×Ô¶¨Ò塱µÄ·ÖÎöÆ÷¡£
¹ÌÈ»£¬´´½¨µ¹ÅÅË÷ÒýʱÐèÒªÓõ½·ÖÎöÆ÷£¬µ«´«µÝËÑË÷×Ö·û´®Ê±Ò²¿ÉÄÜÐèÒª·ÖÎöÆ÷£¬ÉõÖÁ»¹ÒªÓõ½ÓëË÷Òý´´½¨Ê±ÏàͬµÄ·ÖÎöÆ÷²ÅÄܱ£Ö¤µ¥´ÊÆ¥ÅäµÄ¾«È·¶È¡£
Ö´ÐÐfull-textÓòËÑË÷ʱ£¬ÐèÒªÓõ½·ÖÎöÆ÷£¬µ«Ö´Ðо«È·ÖµËÑË÷ʱ£¬²éѯ¹ý³Ì²»»á·ÖÎö²éѯ×Ö·û´®¶øÊÇÖ±½Ó½øÐо«È·ÖµÆ¥Åä¡£
3.3ESµÄÊý¾Ý²éѯ
²éѯִÐйý³Ìͨ³£Òª·Ö³ÉÁ½¸ö½×¶Î£¬·ÖÉ¢½×¶Î¼°ºÏ²¢½×¶Î¡£·ÖÉ¢½×¶ÎÊÇÏòËù²éѯµÄË÷ÒýÖеÄËùÓÐshard·¢ÆðÖ´ÐвéѯµÄ¹ý³Ì£»ºÏ²¢½×¶ÎÊǽ«¸÷shard·µ»ØµÄ½á¹ûºÏ²¢¡¢ÅÅÐò²¢ÏìÓ¦¸ø¿Í»§¶ËµÄ¹ý³Ì¡£
ÏòElasticSearch·¢Æð²éѯ²Ù×÷ÓÐÁ½ÖÖ·½Ê½£ºÒ»ÊÇͨ¹ýRESTful request API´«µÝ²éѯ²ÎÊý£¬Ò²³Æ¡°query-string¡±£»ÁíÒ»¸öÊÇͨ¹ý·¢ËÍREST request body£¬Ò²³Æ×÷JSON¸ñʽ¡£¶øRESTÐÎʽµÄÇëÇó±£Ö¤ÁËES¿ÉÒÔ×öµ½¿çƽ̨ºÍ¿çÓïÑÔ¡£
ESµÄ²éѯÓï¾ä³ÆÎªQuery DSL£¬Ëü·ÖΪÁ½ÖÖ£º²éѯDSL(query DSL)ºÍ¹ýÂËDSL(filter
DSL)¡£
Á½ÖÖDSLµÄÇø±ð£º
1£©¾ÍʹÓó¡¾°À´Ëµ£¬µ±Ö´ÐÐfull-text²éѯ»ò²éѯ½á¹ûÒÀÀµÓÚÏà¹Ø¶È·ÖֵʱӦ¸ÃʹÓòéѯDSL£¬µ±Ö´Ðо«È·Öµ(extac-value)²éѯ»ò²éѯ½á¹û½öÓС°yes¡±»ò¡°no¡±Á½ÖÖ½á¹ûʱӦ¸ÃʹÓùýÂËDSL¡£
2£©Filter
DSL¼ÆËã¼°¹ýÂËËٶȽϿ죬ÇÒÊÊÓÚ»º´æ£¬Òò´Ë¿ÉÓÐЧÌáÉýºóÐø²éѯÇëÇóµÄÖ´ÐÐËÙ¶È¡£¶øquery DSL²»½öÒª²éÕÒÆ¥ÅäµÄÎĵµ£¬»¹ÐèÒª¼ÆËãÿ¸öÎļþµÄÏà¹Ø¶È·ÖÖµ£¬Òò´ËΪ¸üÖØÁ¿¼¶µÄ²éѯ£¬Æä²éѯ½á¹û²»»á±»»º´æ¡£²»¹ý£¬ÓÉÓÚµ¹ÅÅË÷Òý·½Ê½µÄÔµ¹Ê£¬Ò»¸ö½ö·µ»ØÉÙÁ¿ÎĵµµÄ¼òµ¥query»òÐí±ÈÒ»¸ö¿çÊý°ÙÍòÎĵµµÄfilterÖ´ÐÐÆðÀ´²¢²»ÏԵøüÂý¡£
3£©QueriesÓÃÓÚ²éѯÉÏÏÂÎÄ£¬¶øfiltersÓÃÓÚ¹ýÂËÉÏÏÂÎÄ£¬²»¹ý£¬ElasticsearchµÄAPIÒ²Ö§³Ö´Ë¶þÕߺϲ¢ÔËÐС£×éºÏ²éѯ¿ÉÓÃÓںϲ¢²éѯ×Ӿ䣬×éºÏ¹ýÂËÓÃÓںϲ¢¹ýÂË×Ӿ䣬Ȼ¶ø£¬ElasticsearchµÄʹÓÃϰ¹ßÖУ¬Ò²³£»á°ÑfilterÓÃÓÚqueryÉϽøÐйýÂË¡£²»¹ý£¬ºÜÉÙÓлú»áÐèÒª°ÑqueryÓÃÓÚfilterÉϵġ£
4.Ö÷ÒªÌØÐÔ£º
1.ʵʱÎĵµ´æ´¢£¬Îĵµ¶ÔÏóµÄÿ¸öfield¶¼½¨Á¢ÁËË÷Òý£¬¶¼Äܱ»¼ìË÷
2.¹¹½¨ÊÊÓ¦ÓÚ²»Í¬¹æÄ£µÄÓ¦ÓõÄÌåϵ½á¹¹£¬ÔÚ´ËÖ®ÉÏʵÏÖ·Ö²¼Ê½ËÑË÷¡£
3.ΪÆäËûƽ̨ϵͳÌṩÁ˾ßÓÐrest·ç¸ñµÄÔÉújava api¡£Ò²ÓÐhadoopµÄÒÀÀµ°ü
4.¼òµ¥¿ÉÓÃÐÔÇ¿£¬²»ÐèÒª¶ÔËÑË÷ÔÀíÓÐÉîÈëµÄÀí½â¡£Æ½Ì¨ÓÐÃâ·Ñģʽ¡£
¾ßÓпÉÉìËõÐÔ£¬Áé»îµÄ¹¹½¨ºÍÒ×ÓÃÐÔ¡£Ìṩһ¸öÒ×ÓÃÐÔµÄÆ½Ì¨£¬½øÐйæÄ£À©Õ¹Ê±ÎÞÐ迼ÂǺËÐŦÄÜÓëÓû§×Ô¶¨ÒåÑ¡Ïî¼äÍ×С£
5.Ó¦ÓÃ
ʹÓó§ÉÌ£ºDell¡¢ebay¡¢Fackbook¡¢netflixµÈ¡£
Ó¦Óó¡¾°£ºÈȵãͼ£¬½»Í¨Çé¿öµØÀíÐÅϢͼµÈÐèҪʵʱÊý¾ÝËÑË÷ºÍÏÔʾµÄ³¡¾°£¬Êý¾Ý¸üÐÂÆµ·±µÄ³¡¾°µÈ¡£
1£©2013Äê³õ£¬GitHubÅׯúÁËSolr£¬²ÉÈ¡ElasticSearchÀ´×öPB¼¶µÄËÑË÷¡£¡°GitHubʹÓÃElasticSearchËÑË÷20TBµÄÊý¾Ý£¬°üÀ¨13ÒÚÎļþºÍ1300ÒÚÐдúÂ롱¡£
2£©Î¬»ù°Ù¿Æ£ºÆô¶¯ÒÔelasticsearchΪ»ù´¡µÄºËÐÄËÑË÷¼Ü¹¹¡£
3£©SoundCloud£º¡°SoundCloudʹÓÃElasticSearchΪ1.8ÒÚÓû§Ìṩ¼´Ê±¶ø¾«×¼µÄÒôÀÖËÑË÷·þÎñ¡±¡£
4£©°Ù¶È£º°Ù¶ÈĿǰ¹ã·ºÊ¹ÓÃElasticSearch×÷ΪÎı¾Êý¾Ý·ÖÎö£¬²É¼¯°Ù¶ÈËùÓзþÎñÆ÷Éϵĸ÷ÀàÖ¸±êÊý¾Ý¼°Óû§×Ô¶¨ÒåÊý¾Ý£¬Í¨¹ý¶Ô¸÷ÖÖÊý¾Ý½øÐжàά·ÖÎöչʾ£¬¸¨Öú¶¨Î»·ÖÎöʵÀýÒì³£»òÒµÎñ²ãÃæÒì³£¡£Ä¿Ç°¸²¸Ç°Ù¶ÈÄÚ²¿20¶à¸öÒµÎñÏߣ¨°üÀ¨casio¡¢ÔÆ·ÖÎö¡¢ÍøÃË¡¢Ô¤²â¡¢ÎĿ⡢ֱ´ïºÅ¡¢Ç®°ü¡¢·ç¿ØµÈ£©£¬µ¥¼¯Èº×î´ó100̨»úÆ÷£¬200¸öES½Úµã£¬Ã¿Ììµ¼Èë30TB+Êý¾Ý¡£
ÁíÍ⣬ÐÂÀË£¬°¢ÀÓÐÔÞµÈÖøÃû¹«Ë¾Ò²¿ªÊ¼ÁËES·½ÃæµÄ¼¼ÊõÑз¢ºÍʵ¼ù¡£
Áù¡¢SolrºÍElasticSearchµÄ²»Í¬
1.SolrÀûÓÃZookeeper½øÐзֲ¼Ê½¹ÜÀí£»¶øElasticsearch×ÔÉí´øÓзֲ¼Ê½Ðµ÷¹ÜÀí¹¦ÄÜ;
2.SolrÖ§³Ö¸ü¶à¸ñʽµÄÊý¾Ýjson£¬XMLµÈ£»¶øElasticsearch½öÖ§³ÖjsonÎļþ¸ñʽ£»
3.Solr¹Ù·½ÌṩµÄ¹¦Äܸü¶à£»¶øElasticsearch±¾Éí¸ü×¢ÖØÓÚºËÐŦÄÜ£¬¸ß¼¶¹¦ÄܶàÓɵÚÈý·½²å¼þÌṩ£»
4.SolrÔÚ´«Í³µÄËÑË÷Ó¦ÓÃÖбíÏÖºÃÓÚElasticsearch£¬µ«ÔÚ´¦ÀíʵʱËÑË÷Ó¦ÓÃʱЧÂÊÃ÷ÏÔµÍÓÚElasticsearch¡£
5.SolrÊÇ´«Í³ËÑË÷Ó¦ÓõÄÓÐÁ¦½â¾ö·½°¸£¬µ«Elasticsearch¸üÊÊÓÃÓÚÐÂÐ˵ÄʵʱËÑË÷Ó¦Óᣠ|