4. ½ºÅ°¸¶ È­ÀÏ

½ºÅ°¸¶´Â Å©°Ô µÎ Á¾·ù·Î ³ª´©¾î Áø´Ù. Çϳª´Â ÀüüÀûÀÎ µ¥ÀÌÅͺ£À̽º ±¸Á¶ ¹× °ü·Ã ½ºÅ°¸¶µé¿¡ ´ëÇÑ Á¤ÀÇ¿Í Å×À̺íµéÀ» »ý¼ºÇÏ´Â ÀÛ¾÷À» À§ÇÑ "(µ¥ÀÌÅͺ£À̽º) »ý¼º ½ºÅ°¸¶ È­ÀÏ"À̰í, ´Ù¸¥ Çϳª´Â ¿ÜºÎ µ¥ÀÌÅÍÆÄÀÏÀ» µ¥ÀÌÅͺ£À̽º·Î ÀûÀçÇϱâ À§ÇÑ "(µ¥ÀÌÅͺ£À̽º) ÀûÀç ½ºÅ°¸¶ È­ÀÏ"ÀÌ´Ù

4.1 (µ¥ÀÌÅͺ£À̽º) »ý¼º ½ºÅ°¸¶ È­ÀÏ

µ¥ÀÌÅͺ£À̽º »ý¼º ½ºÅ°¸¶´Â µ¥ÀÌÅͺ£À̽º ¹× Å×À̺íÀÇ °ü¸®¿¡ ÇÊ¿äÇÑ °¢Á¾ Á¤º¸¸¦ ´ã°í ÀÖ´Â XML ÆÄÀÏÀÌ´Ù. ½ºÅ°¸¶³»¿¡¼­ »ç¿ëÇÏ´Â ¸ðµç °ªµéÀº XML¹®¼­ ¼Ó¼ºÀ» ±×´ë·Î ¼ö¿ëÇϱ⠶§¹®¿¡ °¢ °ªµéÀÇ ´ë¼Ò¹®ÀÚ¿¡ À¯ÀÇÇÏ¿© ÀÛ¼ºÇÏ¿©¾ß ÇÑ´Ù.

ºÎºÐ±â´É¿¤¸®¸ÕÆ® ºñ°í
µ¥ÀÌÅͺ£À̽ºÁ¤Àǵ¥ÀÌÅͺ£À̽º »ý¼º<CreateDatabase database-name="..." volume-dir="..." />óÀ½ »ý¼º½Ã »ç¿ë
(DB°¡ ÀÖ¾ú´Ù¸é ÃʱâÈ­µÊ)
µ¥ÀÌÅͺ£À̽º »ç¿ë<UseDatabase database-name="..." volume-dir="..." />±âÁ¸¿¡ »ý¼ºµÈ DB¸¦ »ç¿ë
»ç¿ëÀÚ ¿µ¿ª Á¤ÀÇ»ç¿ëÀÚ ¿µ¿ª »ý¼º<CreateUserArea> .... </CreateUserArea>°ü¸®ÀÚ°¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ¼¼ÆÃ
Å×ÀÌºí ½ºÅ°¸¶ Á¤ÀÇÅ×ÀÌºí ½ºÅ°¸¶ »ý¼º<CreateTableSchema name="..." use-aux-db=".." doc-type="..." alias="..."> ...ÇÏÀ§ Á¤º¸ Á¤ÀÇ ºÎºÐ...</CreateTableSchema>óÀ½ »ý¼º½Ã »ç¿ë
(DB°¡ ÀÖ¾ú´Ù¸é ÃʱâÈ­µÊ)
±âº» Ű Á¤ÀÇ<PrimaryKey sections="..." />µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëÇÒ ±âº»Å° Á¤ÀÇ
Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é "¹®¼­½Äº°ÀÚ"¸¦ ±âº»Å°·Î »ç¿ë
ºÒ¿ë¾î Á¤ÀÇ<Stopword file="..." />ºÒ¿ë¾î Á¤ÀÇ
±âº»¼½¼Ç Á¤ÀÇ<BasicSection name="..." data-type="..." index-type="..." index-remove-element-tag="..." use-stemming="..." remove-stopword="..." hanja-to-hangul="..." use-index-bigram="..." default-value="..." alias="..." />±âº»¼½¼Ç¿¡ ´ëÇÑ »öÀιæ¹ý µîÀÇ ´Ù¾çÇÑ ¿É¼Ç Á¤ÀÇ
°¡»ó¼½¼Ç Á¤ÀÇ<VirtualSection name="..." source-section="..." index-type="..." index-remove-element-tag="..." use-stemming="..." remove-stopword="..." hanja-to-hangul="..." use-index-bigram="..." alias="..." />°¡»ó¼½¼Ç¿¡ ´ëÇÑ »öÀιæ¹ýÀ» Á¤ÀÇ
ÅëÇÕ¼½¼Ç Á¤ÀÇ<UnionSection name="..." include-sections="..." alias="..." />ÅëÇÕ¼½¼ÇÀº ½ÇÁ¦ »öÀÎÀ» ¼öÇàÇÏÁö¾Ê°í, °Ë»ö½Ã¿¡¸¸ ±âº»¼½¼ÇÀ¸·Î ÁúÀǸ¦ È®ÀåÇÑ´Ù
Å×À̺í Á¤ÀÇÅ×ÀÌºí »ý¼º<CreateTable table-name="..." with-schema="..." alias="..." doc-type="..." />ƯÁ¤ ½ºÅ°¸¶¸¦ »ç¿ëÇÑ Å×ÀÌºí »ý¼º Á¤ÀÇ

4.1.1 µ¥ÀÌÅͺ£À̽º Á¤ÀÇ

°¡. µ¥ÀÌÅͺ£À̽º »ý¼º
<CreateDatabase database-name="..." volume-dir="..." />
database´Â ÇϳªÀÇ ¼­¹ö·Î ¼­ºñ½ºÇÏ´Â ´ÜÀ§·Î¼­, ¿©·¯°³ÀÇ ½ºÅ°¸¶(¼­·Î ´Ù¸¥ Å×ÀÌºí ±¸Á¶)·Î ±¸¼ºµÉ ¼ö ÀÖ´Ù.
CreateDatabase´Â ÃÖÃÊ »ý¼º½Ã¿¡ »ç¿ëÇÏ´Â ¸í·ÉÀÌ´Ù.
³ª. µ¥ÀÌÅͺ£À̽º »ç¿ë
<UseDatabase database-name="..." volume-dir="..." /> ±âÁ¸¿¡ ±¸¼ºµÇ¾î ÀÖ´Â database¿¡ »õ·Î¿î ³»¿ëÀ» Ãß°¡ÇÒ ¶§ »ç¿ëÇÏ´Â ¸í·ÉÀÌ´Ù.
»õ·Î¿î ½ºÅ°¸¶¸¦ »ý¼ºÇÒ ¼öµµ ÀÖ°í, ±âÁ¸ÀÇ ½ºÅ°¸¶¿¡ »õ·Î¿î Å×À̺íÀ» Ãß°¡ÇÏ¿© »ý¼ºÇÒ ¶§ »ç¿ëÇÑ´Ù

4.1.2 »ç¿ëÀÚ ¿µ¿ª Á¤ÀÇ

<CreateUserArea>
	Description on the text
	<![CDATA[
	   test test
	]]>
</CreateUserArea>
»ç¿ëÀÚ ¿µ¿ªÀº µ¥ÀÌÅͺ£À̽º¿¡ °ü¸®ÀÚÀÇ ÆíÀǸ¦ À§ÇÏ¿© »ý¼ºÇÏ´Â Á¤º¸·Î¼­, µ¥ÀÌÅͺ£À̽º ¼³¸í, Á¤Ã¥ µî °ü¸®ÀÚ°¡ ÇÊ¿äÇÑ »çÇ×À» ÀÚÀ¯·ÎÀÌ ±â¼úÇÏ¿© µ¥ÀÌÅͺ£À̽º¿¡ ¼ö·ÏÇÒ ¼ö ÀÖ´Â ¿µ¿ªÀÌ´Ù..
ƯÁ¤ Çü½ÄÀÌ Á¤ÇØÁ® ÀÖÁö ¾Ê±â ¶§¹®¿¡, ½ºÅ°¸¶¸¦ ÀÌ¿ëÇÏ¿© ÀÓÀÇÀÇ ¹®ÀÚ¿­·Î ±¸¼ºµÈ Á¤º¸ ¿µ¿ªÀ» »ý¼ºÇϰí Ŭ¶óÀÌ¾ðÆ® ¶óÀ̺귯¸® API¸¦ ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ ¿µ¿ªÀ» ȹµæÇÒ ¼ö ÀÖ´Ù
»ç¿ëÀÚ´Â CreateUserArea ¿¤¸®¸ÕÆ® ³»ºÎ¿¡ TEXTÆÄÆ®³ª CDATA Çü½ÄÀÇ È¥ÇÕµÈ ÇüÅ·Π³»¿ëÀ» ÀÛ¼ºÇÒ ¼ö ÀÖÁö¸¸, ÅØ½ºÆ® ºÎºÐÀÇ ¾ç³¡ °ø¹é¹®ÀÚ(½ºÆäÀ̽º, ÅÇ)¿Í °³Ç๮ÀÚ(\r,\n)Àº Á¦°ÅµÈ´Ù.

4.1.3 Å×ÀÌºí ½ºÅ°¸¶ Á¤ÀÇ

°¡. Å×ÀÌºí ½ºÅ°¸¶ »ý¼º
<CreateTableSchema name="blue_table" use-aux-db="no"  doc-type="plain" alias="blue database">
    ...ÇÏÀ§ Á¤º¸ Á¤ÀÇ ºÎºÐ...
<CreateTableSchema>
KRISTALÀº ¿©·¯ °³ÀÇ ½ºÅ°¸¶¸¦ Á¤ÀÇÇÒ ¼ö ÀÖÀ¸¸ç, KRISTAL¿¡¼­ »ý¼ºµÇ´Â Å×À̺íµéÀº ÀÌ¹Ì Á¤ÀǵǾî ÀÖ´Â ½ºÅ°¸¶ Áß Çϳª¸¦ ¼±ÅÃÇÏ¿© ±× ±¸Á¶·Î ¸¸µé¾îÁø´Ù.
CreateTableSchema ÇÏÀ§¿¡ ÁÖ¿äŰ , ±âº»¼½¼Ç, °¡»ó¼½¼Ç, ÅëÇÕ¼½¼Ç µîÀ» Á¤ÀÇÇÏ´Â ¼­ºê¿¤¸®¸ÕÆ®µéÀÌ À§Ä¡ÇÏ°Ô µÈ´Ù.
³»ºÎ ¼Ó¼ºÀº name, use-aux-db, doc-type, alias ³× °¡Áö°¡ ÀÖÀ¸¸ç nameÀº ÇʼöÇ׸ñÀ̰í, ³ª¸ÓÁö´Â ¿É¼ÇÀÌ´Ù.
use-aux-db´Â Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é µðÆúÆ®·Î no·Î ¼¼ÆÃµÇ¸ç, ¹®¼­°ü¸®ÀÛ¾÷½Ã º¸Á¶DB¸¦ »ç¿ëÇÏÁö ¾Ê´Â ±¸Á¶·Î ¿î¿µµÈ´Ù. µ¥ÀÌÅÍÀÇ °»½ÅÀÌ Àû°Å³ª ¼Ò±Ô¸ðÀÇ DB¿¡¼­´Â ¼Óµµ¿¡ Å« ¹«¸®¾øÀÌ ¹®¼­°ü¸®ÀÛ¾÷À» ÇÒ ¼ö ÀÖÀ¸¹Ç·Î "no"¸¦ ¼±ÅÃÇÏ¸é µÇ°í, µ¥ÀÌÅÍÀÇ °»½ÅÀÌ ºó¹øÇϰųª ´ë¿ë·® DB¿¡¼­ÀÇ ½Å¼ÓÇÑ ¹®¼­°»½ÅÀÌ ¿ä±¸µÈ´Ù¸é "yes"¸¦ ¼±ÅÃÇÏ¿© º¸Á¶DB¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
º¸Á¶DB¸¦ »ç¿ëÇÏ´Â °æ¿ì, °»½ÅÀÛ¾÷ÀÌ ¾î´À Á¤µµ ÇàÇØÁø ÈÄ¿¡ optimizing ÀÛ¾÷À» ¼öÇàÇØ¾ß ÀÌÈÄ °»½ÅÀÛ¾÷¿¡ ´ëÇÑ ¼Óµµ°¡ ºü¸£°Ô À¯ÁöµÇ¹Ç·Î ÁÖÀÇÇÏ¿©¾ß ÇÑ´Ù.
doc-typeÀ» Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é µðÆúÆ®·Î plainÀ¸·Î ¼¼ÆÃµÇ¸ç, »ç¿ëÀÚ°¡ ´Ù·ç´Â ¹®¼­°¡ ±¸Á¶¹®¼­¶ó¸é "xml"·Î Á¤ÀÇÇØ¾ß ÇÑ´Ù.
alias´Â ÇöÀç´Â ¿µ¹®À» »ç¿ëÇØ¾ß ÇÑ´Ù.
³ª. ±âº»Å° Á¤ÀÇ
<PrimaryKey sections="AN" />
<PrimaryKey sections="AN ANI" />
µ¥ÀÌÅͰü¸®½Ã µ¥ÀÌÅÍµé °£ÀÇ Áߺ¹°ü°è¸¦ È®ÀÎÇÔÀ¸·Î½á È¿À²ÀûÀÎ µ¥ÀÌÅÍ °ü¸®¸¦ µµ¸ðÇϱâ À§Çؼ­ Á¤ÀÇÇÏ´Â ºÎºÐÀ¸·Î, Á¤Àǰ¡ »ý·«µÇ¸é "¹®¼­½Äº°ÀÚ"°¡ ±âº»Å°°¡ µÈ´Ù.
±âº»Å°´Â "±âº»¼½¼Ç"ÀÇ ÁýÇÕÀ¸·Î ÀÌ·ç¾îÁö¸ç, µÎ °³ ÀÌ»óÀ» ÁöÁ¤ÇÏ·Á¸é µÎ¹øÂ° ¿¹¿Í °°ÀÌ sections¼Ó¼º¿¡ "°ø¹é¹®ÀÚ"¸¦ ÀÌ¿ëÇÏ¿© ±âº»¼½¼ÇµéÀ» °è¼Ó ÁöÁ¤ÇÏ¸é µÈ´Ù.
±âº»Å°´Â Å×ÀÌºíº°·Î »ý¼ºµÇ¹Ç·Î, Å×ÀÌºí°£ÀÇ ±âº»Å° Áߺ¹Àº »ç¿ëÀÚÀÇ Ã¥ÀÓÀÌ µÈ´Ù.
´Ù. ºÒ¿ë¾î Á¤ÀÇ
<Stopword file="/home/demo/DEMO/stopword/swords-eng"/>
<Stopword file="/home/demo/DEMO/stopword/swords-han"/>
ºÒ¿ë¾î(stopword)¶õ °Ë»ö¿¡¼­ ºÒÇÊ¿äÇÏ´Ù°í Á¤ÀǵǴ ´Ü¾îµéÀÌ´Ù. ¿µ¹®¿¡¼­´Â °ü»ç, Çü¿ë»ç, ºÎ»çµîÀ» Çѱۿ¡¼­´Â ºÎ»ç, Çü¿ë»ç µîÀÌ ÁÖ·Î ºÒ¿ë¾î·Î Ãë±ÞµÈ´Ù.
À§ÀÇ ¿¹Ã³·³ ¿©·¯ °³ÀÇ ºÒ¿ë¾î ÆÄÀÏÀ» µ¿½Ã¿¡ Á¤ÀÇÇÒ ¼ö ÀÖÀ¸¸ç, Á¤ÀÇµÈ ÆÄÀϵéÀº ÅëÇÕµÇ¾î °ü¸®µÈ´Ù.
ºÒ¿ë¾î¿¡ ´ëÇÑ »ç¿ëÀº "±âº»¼½¼Ç Á¤ÀÇ" ¹× "°¡»ó¼½¼Ç Á¤ÀÇ"¿¡¼­ °¢ ¼½¼Çº°·Î ÁöÁ¤ÇÑ´Ù.
¶ó. ±âº»¼½¼Ç Á¤ÀÇ
Å×ÀÌºí ³»ÀÇ ±âº» ¼½¼ÇÀ» Á¤ÀÇÇÑ´Ù. ±âº»¼½¼ÇÀº ÇϳªÀÇ ¹®¼­¸¦ ±¸¼ºÇÏ´Â °¡Àå ±âº»ÀûÀÎ ´ÜÀ§ÀÌ´Ù.
¼Ó¼º³»¿ëµðÆúÆ®°ªºñ°í
name±âº» ¼½¼ÇÀÇ À̸§À» Á¤ÀÇÇϸç ÇâÈÄ °ü¸®ÀÇ ÆíÀǼºÀ» À§ÇØ Âª°Ô ÁöÁ¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐ--
data-typeKSTRING, KCHAR, KINT, KUINTÁß Çϳª¸¦ Á¤ÀÇ--
index-type±âº»¼½¼ÇÀÇ »öÀÎÇü½ÄÀ» ÁöÁ¤ÇÑ´Ù. »öÀÎÇü½ÄÀº ¸Å´º¾óÀ» ÂüÁ¶DO_NOT_INDEX-
index-remove-element-tagXML¹®¼­ÀÇ °æ¿ì »öÀÎ ½Ã, ¿¤¸®¸ÕÆ®¿Í ¾ÖÆ®¸®ºäÆ® °ªÀÇ °í·Á À¯¹«¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù. YES·Î ÁöÁ¤ÇÏ¸é ¿¤¸®¸ÕÆ®¿Í ¾ÖÆ®¸®ºäÆ®¸¦ ¸ðµÎ Á¦°ÅÇÑ ÈÄ »öÀÎÇÑ´ÙNO-
use-stemming¿µ¹®¼­ÀÇ °æ¿ì ½ºÅ×¹Ö(Stemming)¿©ºÎ¸¦ °áÁ¤NO-
remove-stopwordºÒ¿ë¾î ó¸® ¿©ºÎ¸¦ °áÁ¤NO-
hanja-to-hangul»öÀÎ ½Ã ÃâÇöÇÏ´Â ÇÑÀھ Çѱ۷Πº¯È¯ÇÏ¿© »öÀÎÇÒÁö¸¦ °áÁ¤NO-
use-index-bigramÀÌ¹Ì ÁöÁ¤µÈ »öÀÎ ¹æ¹ýÀ̿ܿ¡ ´Ü¾î ´ÜÀ§ ¹ÙÀ̱׷¥À» Àû¿ëÇÒÁö ¿©ºÎ¸¦ ÁöÁ¤NO-
default-valueÇØ´ç ¼½¼ÇÀÇ °ªÀÌ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì, ÇÒ´çÇÒ µðÆúÆ® °ªÀ» ÁöÁ¤NULL-
aliasÅ×ÀÌºí ½ºÅ°¸¶¸¦ ±¸ºÐÇϱâ À§ÇÑ ´ëü À̸§NULL-
delimit-charsÅäÅ« ÃßÃâ½Ã¿¡ »ç¿ëÇÒ ±¸ºÐÀÚ ÁöÁ¤NULLINDEX_BY_TOKEN¿¡¼­¸¸ À¯È¿
delete-charsdelimt-chars·Î ÃßÃâµÈ ÅäÅ«¿¡¼­ Á¦°ÅÇÒ ¹®ÀÚ¸¦ ÁöÁ¤NULL"
¸¶. °¡»ó¼½¼Ç Á¤ÀÇ
°¡»ó¼½¼Ç(Virtual section)Àº ±âº» ¼½¼Ç¿¡ ´ëÇØ¼­ Ãß°¡ÀûÀÎ »öÀÎÇü½ÄÀ» Á¤ÀÇ Çϰųª, µÎ °³ ÀÌ»óÀÇ ¼½¼ÇÀ» ¹­¾î¼­ ÇѲ¨¹ø¿¡ »öÀÎÇü½ÄÀ» Á¤ÀÇÇÒ ¶§ »ç¿ëÇÑ´Ù.
¼Ó¼º³»¿ëºñ°í
name°¡»ó ¼½¼ÇÀÇ À̸§À» Á¤ÀÇ-
source-section°¡»ó ¼½¼Ç Á¤ÀÇ ´ë»óÀÌ µÇ´Â ±âº»¼½¼Ç(µé)À» ÁöÁ¤-
index-type±âº» ¼½¼Ç°ú µ¿ÀÏ-
index-remove-element-tag±âº» ¼½¼Ç°ú µ¿ÀÏ-
use-stemming±âº» ¼½¼Ç°ú µ¿ÀÏ-
remove-stopword±âº» ¼½¼Ç°ú µ¿ÀÏ-
hanja-to-hangul±âº» ¼½¼Ç°ú µ¿ÀÏ-
use-index-bigram±âº» ¼½¼Ç°ú µ¿ÀÏ-
alias±âº» ¼½¼Ç°ú µ¿ÀÏ-
¹Ù. ÅëÇÕ¼½¼Ç Á¤ÀÇ
ÅëÇÕ¼½¼Ç(Union sectoin)Àº ±âº» ¼½¼ÇµéÀ̳ª °¡»ó ¼½¼Çµé ¶Ç´Â µÑÀÇ Á¶ÇÕÀ» ¹­¾î ÇϳªÀÇ ¼½¼Ç À̸§¿¡ ´ëÀÀ ½ÃŲ ÇüÅÂÀÇ ³í¸®Àû ¼½¼ÇÀ¸·Î¼­, °Ë»öÀÇ ÆíÀǼºÀ» À§ÇÏ¿© »ç¿ëÇÏ´Â ÀÏÁ¾ÀÇ ´ëÇ¥ °Ë»ö ¼½¼ÇÀ¸·Î, À̸¦ ÀÌ¿ëÇÏ¸é »ç¿ëÀÚÀÇ °Ë»ö ÁúÀǸ¦ ¸Å¿ì ´Ü¼øÈ­ÇÒ ¼ö ÀÖ´Ù.
¼Ó¼º³»¿ëºñ°í
nameÅëÇÕ ¼½¼ÇÀÇ À̸§À» Á¤ÀÇ-
include-sections´ë»óÀÌ µÇ´Â ±âº» ¼½¼Ç ¹× °¡»ó ¼½¼ÇµéÀ» ÁöÁ¤-
alias±âº» ¼½¼Ç°ú µ¿ÀÏ-

4.1.4 Å×À̺í Á¤ÀÇ

4.1.3¿¡¼­ Á¤ÀÇµÈ Å×ÀÌºí½ºÅ°¸¶¸¦ ÀÌ¿ëÇÏ¿© ½ÇÁ¦ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇÑ Å×ÀÌºí¿¡ ´ëÇÑ »ý¼ºÀ» Á¤ÀÇÇÑ´Ù.
¼Ó¼º³»¿ëºñ°í
table-name»ý¼ºÇÒ Å×À̺í À̸§À» ÁöÁ¤ÇÑ´Ù-
with-schemaÅ×À̺í»ý¼º¿¡ »ç¿ëÇÒ Å×ÀÌºí ½ºÅ°¸¶ À̸§À» ÁöÁ¤-
aliasÅ×ÀÌºí ½ºÅ°¸¶¸¦ ±¸ºÐÇϱâ À§ÇÑ ´ëü À̸§À» ÁöÁ¤-
<?xml version="1.0" ?>

<!-- Example KRISTAL Database Schema file -->
<!-- data-type: KINT, KFLOAT, KBOOL, KSTRING, KCHAR -->
<!-- All value is case-insensitive. -->

<DatabaseSchema>
    <CreateDatabase database-name="BLUE_DB" 
        volume-dir="/home/demo/DEMO/volume" />
    <!-- Table Schema Definitions -->
    <CreateTableSchema name="blue_table" alias="blue database">

        <!-- Primary Key Definition -->
        <PrimaryKey sections="AN"/>

        <!-- Stopword File Definition -->
        <Stopword file="/home/demo/DEMO/stopword/swords-eng"/>
        <Stopword file="/home/demo/DEMO/stopword/swords-han"/>

        <!-- Basic Section Definitions -->
		<BasicSection  name="AN"
                          alias="access number"
                          data-type="KCHAR[10]" 
                          index-type="INDEX_AS_IS" />
        <BasicSection  name="ANI" 
                          alias="access number integer" 
                          data-type="KINT" 
                          index-type="INDEX_AS_NUMERIC" />
                           .............
        <BasicSection  name="URL" 
                          alias="url" 
                          data-type="KSTRING" 
                          index-type="INDEX_AS_IS" />

        <!-- Virtual Section Definitions -->
		<VirtualSection name="VIR_CLS" 
                           alias="virtual cls" 
                           source-section="CLS" 
                           index-type="INDEX_BY_TOKEN" 
                           delimit-chars=";, " 
                           delete-chars=" " />

        <!-- Union Section Definitions -->
		<UnionSection name="TITLE" 
                         alias="title union" 
                         include-sections="TIK TIO" />

    <CreateTableSchema>

    <CreateTable table-name="blue01" with-schema="blue_table" alias="sample table1"/>
    <CreateTable table-name="blue02" with-schema="blue_table" alias="sample table2"/>
    <CreateTable table-name="blue03" with-schema="blue_table" alias="sample table3"/>

<DatabaseSchema>

<!-- End of KRISTAL Database Schema file -->

4.2 (µ¥ÀÌÅͺ£À̽º) ÀûÀç ½ºÅ°¸¶ È­ÀÏ

´ë¿ë·® µ¥ÀÌÅ͸¦ ½Å¼ÓÇÏ°Ô µ¥ÀÌÅͺ£À̽º·Î ÀûÀç ¹× »öÀÎÇϱâ À§ÇÑ ¹æ¹ýÀ» ±â¼úÇÑ È­ÀÏÀÌ´Ù. (µ¥ÀÌÅͺ£À̽º) ÀûÀ罺۸¶´Â (µ¥ÀÌÅͺ£À̽º) »ý¼º½ºÅ°¸¶Ã³·³ XML¹®¼­·Î ÀÛ¼ºµÇ¸ç, ÀûÀç¹®¼­ ±¸Á¶Á¤ÀÇ ºÎºÐ°ú ÀûÀç ¸Ê ±¸Á¶ Á¤ÀÇ ºÎºÐÀ¸·Î ³ª´¶´Ù
ºÎºÐ±â´É¿¤¸®¸ÕÆ® ºñ°í
ÀûÀ罺۸¶Á¤ÀDZ⺻»çÇ× Á¤ÀÇ<LoaderSchema database-name="..." volume-dir="..." kristal-root="..." >
ÀûÀç¹®¼­ ±¸Á¶Á¤ÀÇ
ÀûÀç ¸Ê ±¸Á¶ Á¤ÀÇ
</LoaderSchema>
-
ÀûÀç¹®¼­ ±¸Á¶Á¤Àǹ®¼­±¸ºÐÀÚ, ¼½¼Ç ±¸ºÐÀÚ Á¤ÀÇ<DocStructure name="..." border-string="...">
<Tag name="..." mapping-section="..."/>
....
<Tag name="..." mapping-section="..."/>
</DocStructure>
-
ÀûÀç ¸Ê ±¸Á¶ Á¤ÀÇÀûÀçÇÒ ÆÄÀϸ®½ºÆ® ¹× °ü·Ã Å×ÀÌºí ¿¬°á<LoaderMap table="..." doc-structure="..." file="..." encoding="..." />
......
<LoaderMap table="..." doc-structure="..." file="..." encoding="..." />
-

4.2.1 ÀûÀ罺۸¶ Á¤ÀÇ

<?xml version="1.0" ?>
<LoaderSchema database-name="BLUE_DB" 
              volume-dir="/home/demo/DEMO/volume" 
              kristal-root="/home/demo/kristal">
    <--ÀûÀç ¹®¼­ ±¸Á¶ Á¤ÀÇ-->
    <DocStructure ....>
    </DocStructure>

    <--ÀûÀç ¸Ê ±¸Á¶ Á¤ÀÇ-->
    <LoaderMap .../>
    ....
    <LoaderMap .../>
</LoaderSchema>
database-name : »ç¿ëÇÒ µ¥ÀÌÅͺ£À̽ºÀÇ À̸§À» Á¤ÀÇÇÑ´Ù
volume-dir : »ç¿ëÇÒ µ¥ÀÌÅͺ£À̽º º¼·ýÀÇ ¹°¸®ÀûÀÎ µð·ºÅ丮 À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù
kristal-root : KRISTAL ¹ÙÀ̳ʸ® ÆÐŰÁöÀÇ ·çÆ® µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù

4.2.2 ÀûÀç¹®¼­ ±¸Á¶Á¤ÀÇ

<DocStructure name="struct01" border-string="@Yellow_View">
    <Tag name="#AN=" mapping-section="AN"/>
    <Tag name="#ANI=" mapping-section="ANI" do-skip="no"/>
....
    <Tag name="#URL=" mapping-section="URL"/>
</DocStructure>
µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀûÀç ´ë»óÀ¸·Î »ï´Â ¹®¼­ÀÇ ±¸Á¶¸¦ Á¤ÀÇÇÑ´Ù.
DocStructure ¿¤¸®¸ÕÆ®ÀÇ name¼Ó¼ºÀº ¹®¼­±¸Á¶ ½ºÅ°¸¶ÀÇ À̸§À» ÁöÁ¤Çϰí, border-stringÀº ¿ø½Ã¹®¼­¿¡¼­ °¢ ¹®¼­¸¦ ±¸ºÐÇÏ´Â ¹®¼­°£ °æ°è ±¸ºÐÀÚ¸¦ ÁöÁ¤ÇÑ´Ù.
Tag¿¤¸®¸ÕÆ®ÀÇ name¼Ó¼ºÀº ¼½¼Ç±¸ºÐÀ» À§ÇÑ Å±׸¦ ÁöÁ¤Çϰí, mapping-sectionÀº ¸ÅÇ뵃 ¼½¼ÇÀ̸§À» ÁöÁ¤ÇÑ´Ù. do-skip¼Ó¼ºÀ» "yes"·Î Çϸé ÁöÁ¤µÈ ű״ ÀúÀåµÇÁö ¾Ê°í °Ç³Ê ¶Ù°Ô µÇ¸ç, µðÆúÆ® °ªÀº "no"´Ù.

4.2.3 ÀûÀç ¸Ê ±¸Á¶ Á¤ÀÇ

<LoaderMap table="blue01" doc-structure="struct01" 
      file="/home/demo/DEMO/data/*.dat" encoding="euc-kr" />
....
´ë»ó ¹®¼­¿Í ´ë»ó Å×À̺íÀ» ¸ÅνÃÅ´À¸·Î½á, ÀûÀ縦 ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
table : ¹®¼­¸¦ ÀûÀçÇÒ Å×À̺íÀ» ÁöÁ¤ÇÑ´Ù
doc-structure : »ç¿ëÇÒ ¹®¼­ ±¸Á¶ Á¤ÀǸ¦ ÁöÁ¤ÇÑ´Ù
file : ÀûÀç ´ë»ó ¹®¼­ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù
encoding : ÀûÀç ´ë»ó ¹®¼­ÀÇ ¹®¼­ ÀÎÄÚµù ¹æ½ÄÀ» ÁöÁ¤ÇÑ´Ù