2.2 °Ë»ö°ü·Ã ÇÁ·ÎÅäÄÝ

RETRIEVE
RETRIEVE_IN_RESULT
RETRIEVE_SIMILAR_DOCUMENTS
RETRIEVE_SIMILAR_DOCUMENTS2
GET_META_INFO_QUERY
GET_SET_INFO
BROWSE_ALL_DOCUMENTS

Description
µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÇ¾î Àִ ƯÁ¤ ¹®¼­¿Í À¯»çÇÑ ¹®¼­µéÀ» °Ë»öÇÏ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù.
"±âÁع®¼­"ÀÇ ¹®¼­½Äº°ÀÚ¿Í, ´ë»ó Å×À̺í, ´ë»ó ¼½¼Ç, À¯»çµµ °ª µîÀ» ÁöÁ¤ Çϸé, "±âÁع®¼­"¿Í À¯»çÇÑ ¹®¼­µéÀ» °Ë»öÇϰí "°á°ú¼Â¹øÈ£"¿Í "¹®¼­°Ç¼ö"°¡ ¹ÝȯµÈ´Ù.
ÀÌÈÄ Ã³¸®´Â ±âÁ¸ÀÇ "ÀϹݰ˻ö"°ú µ¿ÀÏÇÏ°Ô ÇÏ¸é µÈ´Ù.

[ÁÖ] "±âÁع®¼­"´Â °Ë»ö´ë»ó¿¡¼­ Á¦¿Ü µÈ´Ù

InParameter

vector table_namelist; [À¯»ç¹®¼­ °Ë»ö´ë»ó Å×À̺í ÁöÁ¤]
int table_id; [±âÁع®¼­ÀÇ Å×À̺í½Äº°ÀÚ]
int doc_id; [±âÁع®¼­ÀÇ ¹®¼­½Äº°ÀÚ]
vector section_namelist; [À¯»ç¹®¼­ °Ë»ö ´ë»ó ¼½¼Ç(µé)]
float threshold; [´ë»ó¹®¼­¿ÍÀÇ À¯»çµµ °ª(0.0 - 0.99)]

OutParameter

unsigned int set_id;  [°á°ú¼Â¹øÈ£]
unsigned int total_df; [°Ë»ö°á°ú °Ç¼ö]
unsigned int estimated_total_df; [°Ë»ö ¹®¼­ ÃßÁ¤Ä¡]
long unsigned int service_time; [°Ë»ö ¼öÇà ½Ã°£]

Example

    // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
    table_namelist.push_back("blue01");
    table_namelist.push_back("blue02");
    table_namelist.push_back("blue03");
    //table_namelist.push_back("blue04");

    // À¯»ç ¹®¼­ °Ë»ö½Ã »ç¿ëÇÒ ´ë»ó ¼½¼Ç ÁöÁ¤(º¹¼ö°³ ÁöÁ¤ °¡´É)
    section_namelist.push_back("TIK");
    //section_namelist.push_back("ABS");

    // ¿äûÀ» ó¸®ÇÒ Å¬·¡½º¸¦ »ý¼º
    // »ý¼ºÀÚÀÇ ¸Å°³º¯¼ö·Î ó¸®ÇÒ DB ¼­ºñ½ºÀÇ ÁÖ¼Ò¿Í Æ÷Æ®¹øÈ£¸¦ ÀÔ·Â
    ClientLIB clientLib(SERVER_IP, SERVER_PORT);

    Cparameter_t p_in, p_out;   // ¸Å°³º¯¼ö Ŭ·¡½º ¼±¾ð 

    Cdocument_t doc;
    doc.table_id = table_id;
    doc.document_id = doc_id;
    p_in.documents.push_back(doc);

    p_in.table_namelist = table_namelist;       // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
    p_in.section_namelist = section_namelist;   // Ãâ·Â¿ë ¼½¼Ç À̸§ ¸®½ºÆ® ÁöÁ¤
    p_in.similarity_value = threshold;      // À¯»çµµ ÀÓ°èÄ¡ ÁöÁ¤
//  p_in.set_id = 0;                // ¼ÂÀº »ç¿ë ¾ÈÇÔ

    // À¯»ç¹®¼­ °Ë»ö ¼öÇà
    RedirectStdoutInit();   // ¿äû ¼öÇà Áß¿¡ Ãâ·ÂµÇ´Â ¸Þ½ÃÁö ¸·À½...
    int ret_val = clientLib.Request(RETRIEVE_SIMILAR_DOCUMENTS, p_in, p_out);
    RedirectStdoutClose();
    if (ret_val != 0) {
        cout << "ERROR : " << p_out.errmsg << "(" << p_out.errcode << ")" << endl;
        return -1;
    }