IBM å
(C) IBM Corp. 2000

Net Search Extender

°ü¸® ¹× »ç¿ëÀÚ ¾È³»¼­

DB2EXT.TEXTSEARCH

½ºÅä¾îµå ÇÁ·Î½ÃÀú °Ë»ö ¹× SQL ½ºÄ®¶ó °Ë»ö ÇÔ¼ö ¿Ü¿¡µµ, Net Search Extender´Â ½ºÅä¾îµå ÇÁ·Î½ÃÀú¿Í ¾ÆÁÖ À¯»çÇÏ°Ô º¸ÀÌ´Â µÎ °³ÀÇ SQL Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼ö¸¦ Á¦°øÇÕ´Ï´Ù.

µÎ Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼ö¸¦ ¸ðµÎ db2ext.textsearch¶ó°í ÇÕ´Ï´Ù. ÀÌ µÎ ÇÔ¼öÀÇ Â÷ÀÌÁ¡Àº Çϳª´Â HIGHLIGHT ÇÔ¼ö¸¦ Áö¿øÇÏ°í µÎ °³ÀÇ Ãß°¡ ¸Å°³º¯¼ö numberOfHits ¹× hitInformationÀÌ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.

º¹ÇÕ ±âº» ۸¦ Æ÷ÇÔÇÏ´Â Å×ÀÌºí¿¡¼­´Â Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

HIGHLIGHT ÇÔ¼ö »ç¿ë¿¡ ´ëÇÑ Á¤º¸´Â DB2EXT.HIGHLIGHT¸¦ ÂüÁ¶ÇϽʽÿÀ.

Âü°í

Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼ö´Â »ç¿ëÀÚ Å×À̺íÀÌ ´ÜÀÏ ³ëµå Å×ÀÌºí ½ºÆäÀ̽º¿¡ ÀúÀåµÈ °æ¿ì¿¡¸¸ ºÐ»ê DB2 ȯ°æ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿Ã¹Ù¸¥ ³ëµå¿¡ ¿¬°áµÇ¾ú´ÂÁö È®ÀÎÇÏ·Á¸é DB2NODE ȯ°æ º¯¼ö¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÇÔ¼ö ±¸¹®

1. db2ext.textsearch without highlight support
 
                
                db2ext.textSearch
                (
                query	   	        VARCHAR(4096),
                indexSchema   	   VARCHAR(128),
                indexName        	VARCHAR(128),
                resultFirstRow   	INTEGER,
                resultNumberRows 	INTEGER,
                primKeyBinding   	<supported types>,// same type as primary key
                )
 
                return table
                (
                primKey           <supported types>,// same type as primary key
                numberOfMatches   INTEGER,
score           DOUBLE,  
totalNbResults  INTEGER
                )
 
 
2. db2ext.textsearch with highlight support
 
 
                db2ext.textSearch
                (
                query	   	        VARCHAR(4096),
                indexSchema       VARCHAR(128),
                indexName        	VARCHAR(128),
                resultFirstRow   	INTEGER,
                resultNumberRows 	INTEGER,
                primKeyBinding   	<supported types>,// same type as primary key
                numberOfHits      INTEGER
                )
 
                return table
                (
                primKey           <supported types>,// same type as primary key
                numberOfMatches   INTEGER,
score           DOUBLE,  
totalNbResults  INTEGER
                hitInformation    BLOB(20K)
                )
 
 

ÇÔ¼ö ¸Å°³º¯¼ö

´ÙÀ½Àº ÀÔ·Â ¸Å°³º¯¼öÀÔ´Ï´Ù.

query
ÀÚ¼¼ÇÑ Á¤º¸´Â °Ë»ö ÀμöÀÇ ±¸¹®À» ÂüÁ¶ÇϽʽÿÀ.

indexSchema, indexName
°Ë»öÇÒ À妽º ID. ÀÚ¼¼ÇÑ Á¤º¸´Â CREATE INDEX¸¦ ÂüÁ¶ÇϽʽÿÀ.

resultFirstRow
Äõ¸® °á°ú ¸ñ·ÏÀÌ ºÎºÐÀûÀ¸·Î ¸®Åϵ˴ϴÙ. ÀÌ ¸Å°³º¯¼ö´Â Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼öÀÇ °á°ú Å×ÀÌºí¿¡ ù ¹øÂ° ÇàÀ¸·Î ÀÔ·ÂÇÒ Äõ¸® °á°ú ¸ñ·Ï Çà¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. °ªÀº 0 ÀÌ»óÀ̾î¾ß ÇÕ´Ï´Ù.

Äõ¸® °á°ú ¸ñ·ÏÀÇ Ã¹ ¹øÂ° ÇàÀº ¼ýÀÚ 0À¸·Î ½Äº°µË´Ï´Ù.

resultNumberRows
ÀÌ ¸Å°³º¯¼ö´Â Å×ÀÌºí °ª ÁöÁ¤ ÇÔÈÄÀÇ °á°ú Å×ÀÌºí¿¡ ÀԷµǴ Äõ¸® °á°ú ¸ñ·ÏÀÇ Çà ¼ö¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. 0Àº ¸ðµç°á°ú¸¦ ¸®ÅÏÇØ¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù.

ÀÌ ¸Å°³º¯¼ö´Â Äõ¸® °á°ú ¸ñ·ÏÀÇ ÃÖ´ë Å©±â¸¦ ÆÇº°ÇÏ´Â °á°ú ÇѰè Äõ¸® ¸Å°³º¯¼ö¿Í ´Ù¸¨´Ï´Ù.

primaryKeyBinding
ÀÌ ¸Å°³º¯¼ö À¯ÇüÀº primaryKey Ãâ·Â ¸Å°³º¯¼öÀÇ À¯ÇüÀ» ÆÇº°ÇÕ´Ï´Ù. ±âº» Ű À¯ÇüÀÌ <type1>ÀÎ ±âº» Å×ÀÌºí¿¡ ´ëÇØ ÅØ½ºÆ® À妽º¸¦ ÀÛ¼ºÇÑ °æ¿ì primaryKeyBindingÀÇ À¯Çüµµ <type1>À̾î¾ß ÇÕ´Ï´Ù.

Ãß°¡·Î ¸Å°³º¯¼ö´Â ÅØ½ºÆ® °Ë»ö ¹üÀ§¸¦ ÆÇº°ÇÕ´Ï´Ù. primaryKeyBindingÀ» NULL("CAST(NULL as <type1>)"·Î ¼³Á¤ÇÏ¸é °Ë»ö ¹üÀ§´Â À妽º¿¡ ÀúÀåµÈ ¸ðµç ¹®¼­°¡ µË´Ï´Ù. ¶Ç´Â primaryKeyBindingÀÌ ¹ÙÀεåµÈ ¹®¼­·Î °Ë»öÀ» Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¾î, primaryKeyBindingÀ» CAST(5 as BIGINT)·Î ¼³Á¤ÇÏ¸é °Ë»öÀº BIGINT ±âº» Ű °ªÀÌ "5"ÀÎ ´ÜÀÏ ¹®¼­·Î Á¦Çѵ˴ϴÙ.

SMALLINT, INTEGER, BIGINT, REAL, DOUBLE, VARCHAR FOR BIT DATA, DATE, TIME ¹× TIMESTAMP À¯ÇüÀ» °¡Áø ´ÜÀÏ Ä÷³ ±âº» ۸¸ÀÌ Áö¿øµË´Ï´Ù.

numberOfhits
ÀÌ ¿É¼ÇÀº db2ext.textsearch ÇÔ¼ö·Î ¸®ÅÏµÈ °Ë»ö °á°ú¿¡ ´ëÇÑ ÃÖ´ë Á¤º¸ ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. 0ÀÌ ÁöÁ¤µÈ °æ¿ì, ÃÖ´ë °Ë»ö °á°ú 1100±îÁöÀÇ Á¤º¸°¡ Á¦°øµË´Ï´Ù. ÀÌ ÇÁ·Î¼¼½º´Â ½Ã°£ ¼Ò¸ðÀûÀÔ´Ï´Ù.

ÀÌ ¸Å°³º¯¼ö´Â db2ext.highlight ÇÔ¼ö¿¡ ÇÊ¿äÇÑ °­Á¶Ç¥½Ã Á¤º¸¸¦ ±¸¼ºÇÏ´Â µ¥¸¸ ÇÊ¿äÇÕ´Ï´Ù.

ÇÔ¼ö ¸Å°³º¯¼ö

ÀÚ¼¼ÇÑ °á°ú¸¦ ¿äûÇÒ °æ¿ì, ´ÙÀ½ ¸®ÅϰªÀº º¸Åë Å×ÀÌºí¿¡ Á¶ÀεǾî¾ß ÇÏ´Â Àӽà Å×ÀÌºí¿¡ ÀúÀåµË´Ï´Ù. NUMBEROFMATCHES, SCORE, TOTALNUMBEROFRESULTS ¹× HITINFORMATIONÀº select¹®¿¡ ¿äûµÈ °æ¿ì¿¡¸¸ °è»êµË´Ï´Ù.

primKey
ãÀº ¹®¼­ÀÇ ±âº» Ű

numberofmatches
NUMBEROFMATCHES´Â °¢ ¹®¼­¿¡ ´ëÇÑ ÀÏÄ¡ Ƚ¼ö¸¦ ³ªÅ¸³»´Â INTEGER °ªÀÔ´Ï´Ù.

score
Score´Â DOUBLE °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. ¹®¼­¿¡¼­ °Ë»ö ¿ë¾î¸¦ ã´Â ºóµµ°¡ ´Ã¾î³¯¼ö·Ï ¹®¼­ÀÇ Scoreµµ ¿Ã¶ó°©´Ï´Ù.

totalNumberOfResults
Äõ¸® °á°ú ¸ñ·ÏÀº ãÀº °á°ú ¼ö¸¦ ÀǹÌÇÕ´Ï´Ù. °¢ ÇàÀº µ¿ÀÏÇÑ °ªÀ» °¡Á®¾ß ÇÕ´Ï´Ù.

¶ÇÇÑ Äõ¸®¿¡¼­ STOP SEARCH AFTER ¶Ç´Â RESULT LIMIT¸¦ SCORE ±¸¹®°ú ÇÔ²² »ç¿ëÇÏ´Â °æ¿ì ÀÌ ¼ö¸¦ ´õ ÀÌ»ó ½Å·ÚÇÒ ¼ö ¾ø½À´Ï´Ù.

hitInformation
db2ext.textsearch¿¡ ÀÇÇØ ¸®ÅÏµÈ °Ë»ö °á°ú Á¤º¸´Â °­Á¶Ç¥½Ã 󸮿¡ ÇÊ¿äÇÕ´Ï´Ù. ÇöÀç ¾à 1100°³ÀÇ °Ë»ö °á°ú¿¡ ´ëÇÑ °Ë»ö °á°ú Á¤º¸°¡ ÀÌ Ãâ·Â ¸Å°³º¯¼ö¿¡ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. °Ë»ö °á°ú ¼ö°¡ ÀÌ ÀÓ°è°ªÀ» ÃʰúÇÑ °æ¿ì ÀÌ·¯ÇÑ Ãß°¡ °Ë»ö °á°ú¿¡ ´ëÇÑ °Ë»ö °á°ú Á¤º¸´Â ¹«½ÃµË´Ï´Ù.

numberOfHits¸¦ ÁöÁ¤ÇÑ °æ¿ì¿¡¸¸ ÀÌ °ªÀÌ ¸®Åϵ˴ϴÙ.

¿ëµµ

SQL Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ½ºÅä¾îµå ÇÁ·Î½ÃÀú °Ë»ö¿¡¼­ ¼öÇàÇÏ´ø °Í°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ºä¿¡ ´ëÇÑ °Ë»öÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¿Ü°¡ ÀÖ´Ù¸é °øÀ¯ ¸Þ¸ð¸®°¡ ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î À妽º¸¦ Ȱ¼ºÈ­ÇÒ Çʿ䰡 ¾ø´Ù´Â °ÍÀÔ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ±âº»ÀûÀ¸·Î ½ºÅä¾îµå ÇÁ·Î½ÃÀú °Ë»ö ³»¿¡¼­ SQL Äõ¸®¸¦ »ç¿ëÇÏ´ø »ç¿ëÀÚ¸¦ À§ÇÑ °ÍÀÔ´Ï´Ù. ±×·¯³ª Á¦ÇÑ»çÇ×Àº ±âº» Å×ÀÌºí¿¡ ´ëÇØ ´ÜÀÏ Ä÷³ÀÇ ±âº» ۸¸ÀÌ Áö¿øµÈ´Ù´Â °ÍÀÔ´Ï´Ù.

´ÙÀ½ÀÇ ¿¹´Â ´ÙÁß Ä÷³ ±âº» Ű Å×ÀÌºí¿¡ ´ëÇØ ÀÛ¾÷ÇÏ´Â ¹æ¹ýÀ» Ç¥½ÃÇÕ´Ï´Ù.

select s.id from 
db2ext.sample s, table (db2ext.textSearch( 
        '"characteristics"',
         'DB2EXT',
         'COMMANDS',
         1,
         20,
         cast(NULL as INTEGER))) t 
where s.id = t.primkey

ÀÌ ¿¹¿¡¼­, ¸ÕÀú ´ÜÀÏ °íÀ¯ ۸¦ »ç¿ëÇÏ¿© ÀÌ Å×ÀÌºí¿¡ ´ëÇÑ ºä¸¦ ÀÛ¼ºÇÑ ÈÄ, ÀÌ ºä¿¡ ´ëÇÑ À妽º¸¦ ÀÛ¼ºÇϽʽÿÀ.

db2ext.highlight ÇÔ¼ö¿Í ÇÔ²² SQL Å×ÀÌºí °ª ÁöÁ¤ ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °æ¿ìÀÇ ¿¹´Â *** ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽʽÿÀ.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]