°Ë»ö ¿£Áø Ç÷¯±×ÀÎ

µµ¿ò¸» ½Ã½ºÅÛ¿¡¼­ »õ·Î ¿¬ÇÕµÈ Á¤º¸ °Ë»öÀº °Ë»ö ¿£Áø À¯Çü ¹× °Ë»ö ¿£Áø °³³äÀ» »ç¿ëÇÕ´Ï´Ù. ¿£Áø À¯ÇüÀº ¸Å°³º¯¼öÈ­¸¦ ÅëÇØ ´Ù¼öÀÇ ±¸Ã¼Àû °Ë»ö ¿£ÁøÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ¸ÞŸ ¿£ÁøÀÔ´Ï´Ù.

»õ ¿£Áø À¯ÇüÀº org.eclipse.help.ui.searchEngineÀ» ÅëÇØ Á¦°øµË´Ï´Ù.

<extension point="org.eclipse.help.ui.searchEngine">
	<engineType
		scopeFactory="com.example.xyz.XYZScopeFactory"
		label="XYZ Search"
		class="com.example.xyz.search.XYZSearch"
		icon="icons/etool16/xyzsearch.gif"
		pageClass="com.example.xyz.search.XYZSearchPage"
		id="com.example.xyz.XYZSearch">
		<description>
			Instances of XYZ Search search the XYZ site.
		</description>
	</engineType>
ÀÌ È®ÀåÁ¡Àº Á¤º¸ °Ë»ö ½Ã °Ë»ö ±¸¼º¿øÀ» Ç÷¯±×ÀÎÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. °¢ °Ë»ö ¿£ÁøÀ» °³º°ÀûÀ¸·Î ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. °Ë»öÀÌ ½ÃÀÛµÇ¸é °¢ °Ë»ö ¿£ÁøÀÌ ¹è°æ ÀÛ¾÷À¸·Î ½ÇÇàµÇ¸ç, °á°ú´Â µµ¿ò¸» º¸±â¿¡¼­ Á¶È¸ ¹Ù·Î ¾Æ·¡¿¡ Á¶Çյ˴ϴÙ.

¿©±â Á¤ÀÇµÈ °Ë»ö ¿£ÁøÀº productId ¼Ó¼ºÀ» Á¤ÀÇÇÏÁö ¾ÊÀº ä·Î µÎÁö ¾ÊÀ¸¸é ¿£Áø Á¤º¸ ¹ÙÀεùÀ» ¼³Á¤ÇÑ ÈÄ¿¡¾ß ¿¬ÇÕ °Ë»ö ±¸¼º¿øÀ¸·Î ÀÚµ¿À¸·Î Ç¥½ÃµË´Ï´Ù. ÀÌ ¼Ó¼ºÀ» Á¤ÀÇÇÏ´Â ¿£ÁøÀÇ °æ¿ì, ƯÁ¤ Á¦Ç°¿¡ ¹ÙÀεåµÈ ¿£Áø¸¸ ÇØ´ç Á¦Ç°ÀÌ ½ÇÇà ÁßÀÏ ¶§ Ç¥½ÃµË´Ï´Ù.

°Ë»ö ¿£ÁøÀº ´Ü¼øÈ÷ URLÀ» ±¸¼ºÇϸç, ÇØ´ç URLÀ» href·Î Æ÷ÇÔÇÏ´Â ÇϳªÀÇ ÀûÁ߸¸ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. API Áö¿øÀ» À§ÇØ ¶óÀ̼¾½º°¡ ÇÊ¿äÇÑ ÀϹÝÀûÀÎ °Ë»ö ¿£ÁøÀ» ÀÌ¿Í °°ÀÌ Ç÷¯±×ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ºÆåÆ®·³ÀÇ ¹Ý´ëÂÊ ³¡¿¡¼­ °Ë»ö ¿£ÁøÀº ¼­¹ö¿Í Åë½ÅÇÏ°í ·¹À̺í, href, °£´ÜÇÑ ¼³¸í, Á¡¼ö µî°ú °°Àº Á¤º¸¸¦ °¡Áø °³º° ÀûÁßÀ» ¼ö½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ·ÎÄà µµ¿ò¸» ¿£ÁøÀº ÀÌ·± ½ÄÀ¸·Î È÷Æ®¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

°Ë»ö ¸ÞÄ¿´ÏÁò¿¡ °ü°è¾øÀÌ ¿£ÁøÀº JFace ȯ°æ ¼³Á¤ ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ °Ë»ö ¹üÀ§ ¼³Á¤À» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆäÀÌÁö´Â µµ¿ò¸» º¸±â¿¡¼­ ´ÙÀ½¿¡ '°í±Þ ¼³Á¤' ¸µÅ©°¡ ¿Ã ¶§ Ç¥½ÃµË´Ï´Ù. º¸´Ù °í±Þ ¼³Á¤À» À§ÇØ ¿£Áø°ú ÇÔ²² Á¤ÀÇµÈ ·çÆ® ȯ°æ ¼³Á¤ ÆäÀÌÁö À̿ܿ¡ Ãß°¡ ȯ°æ ¼³Á¤ ÇÏÀ§ ÆäÀÌÁö¸¦ Ç÷¯±×ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹üÀ§ ¼³Á¤Àº IPreferenceStore ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ¿© ·Îµå ¹× ÀúÀåµË´Ï´Ù. ¸ðµç ¿£Áø¿¡ ´ëÇÑ ¹üÀ§ ¼³Á¤Àº À̸§ ÁöÁ¤µÈ ¹üÀ§ ¼¼Æ® ¾Æ·¡¿¡ °°ÀÌ ±×·ìÈ­µË´Ï´Ù. óÀ½ ¿­¸± ¶§ ±âº» ¹üÀ§ ¼¼Æ®('Default')°¡ ÀÛ¼ºµÇÁö¸¸ »ç¿ëÀÚ´Â ¹üÀ§ ¼¼Æ®¸¦ Ãß°¡·Î Á¤ÀÇÇÏ°í ¹üÀ§ ¼¼Æ® °£¿¡ ´ëĪ À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¬ÇÕ °Ë»ö Áö¿øÀº org.eclipse.help.base Ç÷¯±×ÀÎÀÇ ÀϺÎÀ̱⠶§¹®¿¡ ȯ°æ ¼³Á¤¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ¿¡¼­ °Ë»ö ¹üÀ§ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ·Á¸é ÆÑÅ丮°¡ ÇÊ¿äÇÕ´Ï´Ù. ¹üÀ§ ÆÑÅ丮¸¦ Ç÷¯±×ÀÎÇÏ·Á¸é ¹üÀ§ ȯ°æ ¼³Á¤ ÆäÀÌÁö¸¦ Ç÷¯±×ÀÎÇϴ Ŭ¶óÀÌ¾ðÆ®µµ ÇÊ¿äÇÕ´Ï´Ù.

ÀÌ È®ÀåÁ¡¿¡ Á¤ÀÇµÈ ¿£ÁøÀº ±âº»ÀûÀ¸·Î UI¿¡ Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù. UI¿¡ Ç¥½ÃµÇ´Â °ÍÀº °³º°ÀûÀ¸·Î ¼öÁ¤ÇÒ ¼ö ÀÖ´Â °Ë»ö ¿£ÁøÀÇ ±¸Ã¼Àû ÀνºÅϽºÀÔ´Ï´Ù. Á¦Ç°Àº ´Ù¼öÀÇ µî·ÏµÈ ¿£Áø À¯Çü ÀνºÅϽº¸¦ »ç¿ëÇÏ¿© µµ¿ò¸» ½Ã½ºÅÛÀ» »çÀü¿¡ ±¸¼ºÇÒ ¼ö ÀÖÀ¸¸ç, ¿øÇÏ´Â ¹æ½ÄÀ¸·Î ¼öÇàÇϵµ·Ï ¸Å°³º¯¼öÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ »ç¿ëÀÚ´Â µî·ÏµÈ ¿£ÁøÀÇ ÀÚü ÀνºÅϽº¸¦ Ãß°¡Çϰí À̸¦ ¿¬°è ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

<engine
	enabled="true"
	engineTypeId="com.example.xyz.search.XYZSearch"
	id="com.example.xyz.XYZSearch"
	label="XYZ Search">
</engine>
<engine
	enabled="true"
	engineTypeId="org.eclipse.help.ui.web"
	id="org.eclipse.sdk.Eclipse"
	label="%search.Eclipse.label">
	<description>
		%search.Eclipse.desc
	</description>
	<param 
		name="url" 
		value="http://eclipse.org/search/search.cgi?q={expression}&amp;ul=&amp;ps=20&amp;m=all">
	</param>
</engine>