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

RETRIEVE
RETRIEVE_IN_RESULT
RETRIEVE_SIMILAR_DOCUMENTS
RETRIEVE_SIMILAR_DOCUMENTS2
GET_META_INFO_QUERY
GET_SET_INFO
BROWSE_ALL_DOCUMENTS

Description
µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ °Ë»öÀ» ¼öÇàÇÑ µÚ, ±× °á°ú¸¦ "°á°ú¼Â"¿¡ ÀúÀåÇÏ°í °Ë»ö°á°ú °Ç¼ö¿Í °á°ú¼Â¹øÈ£¸¦ º¹±ÍÇÑ´Ù
KRISTALÀº °Ë»öÀ» À§ÇØ ºÒ¸®¾ð¸ðµ¨°ú º¤Å͸ðµ¨À» Á¦°øÇÑ´Ù.

InParameter

[ÁÖ] µðÆúÆ® °ªÀº °ËÀº»öÀ¸·Î Ç¥ÇöµÊ
vector table_namelist; [Å×À̺í À̸§À» ÁöÁ¤, Àüü Å×À̺íÀ» ÁöÁ¤ÇÏ·Á¸é ALL_TABLES¸¦ »ç¿ëÇÏ¸é µÊ] int space_operator; [SPACE_AND | SPACE_OR | SPACE_NOT | SPACE_WITHIN | SPACE_NEAR] int method; [BOOLEAN_MODEL | VECTOR_MODEL] string query; [»ç¿ëÀÚ°¡ ¹®¹ý¿¡ ¸Âµµ·Ï ÀÛ¼ºÇؼ­ ÁöÁ¤ÇÔ(UTF8·Î ÀúÀåµÇ¾î¾ß ÇÔ)] int term_expansion; [NO_QUERY_TERM_EXPANSION | FULL_QUERY_TERM_EXPANSION | PARTIAL_QUERY_TERM_EXPANSION] int remove_chars_word; [NO_REMOVE_CHARS_WORD | REMOVE_SINGLE_CHAR_WORD] bool order; [ASCENDING | DESCENDING]

OutParameter

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

Example

    int space_op;       // °ø¹éÀ» ¾î¶»°Ô 󸮸¦ ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤
    int ret_model;      // °Ë»ö ¸ðµ¨À» ÁöÁ¤
    vector table_namelist;  // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
    vector section_namelist;    // °£·«º¸±â¿¡¼­ Ãâ·ÂÇÒ ¼½¼Ç¸í

    // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤(Àüü ÁöÁ¤ÇÏ·Á¸é ù¹øÂ° item¿¡ ALL_TABLES·Î ÁöÁ¤
    table_namelist.push_back(ALL_TABLES);
    /*
    table_namelist.push_back("blue01");
    table_namelist.push_back("blue02");
    table_namelist.push_back("blue03");
    */

    space_op = SPACE_AND;   // SPACE_AND | SPACE_OR | SPACE_NOT | SPACE_WITHIN | SPACE_NEAR
    ret_model = BOOLEAN_MODEL;  // BOOLEAN_MODEL | VECTOR_MODEL

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

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

    p_in.table_namelist = table_namelist;   // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
    p_in.space_operator = space_op;       // °ø¹é ó¸® ¹æ¹ý ÁöÁ¤(ObjectClasses.h ÂüÁ¶)
    p_in.method = ret_model;      // °Ë»ö ¸ðµ¨ ÁöÁ¤(ObjectClasses.h ÂüÁ¶)
    p_in.term_expansion = FULL_QUERY_TERM_EXPANSION;    
    // NO_QUERY_TERM_EXPANSION(default) : ÁúÀÇ È®Àå ÇÏÁö ¾ÊÀ½ ¿¹) Á¤º¸°Ë»ö --> Á¤º¸°Ë»ö(INDEX_BY_MA)
    // FULL_QUERY_TERM_EXPANSION : ÁúÀÇ È®ÀåÇÔ ¿¹) Á¤º¸°Ë»ö --> Á¤º¸ °Ë»ö Á¤º¸°Ë»ö(INDEX_BY_MA)
    // PARTIAL_QUERY_TERM_EXPANSION : µû¿ÈÇ¥·Î ÀÌ·ç¾îÁø ÁúÀÇ Ã³¸® ¿¹) "Á¤º¸°Ë»ö ½Ã½ºÅÛ" --> Á¤º¸°Ë»ö /W1 ½Ã½ºÅÛ
    p_in.remove_chars_word = REMOVE_SINGLE_CHAR_WORD;           // ÇѱÛÀÚ ´Ü¾î´Â °Ë»ö¿¡¼­ Á¦¿Ü(default NO_REMOVE_CHARS_WORD)
    //p_in.order = ASCENDING;               // default´Â ASCENDING

    string query = "(TIK : ÀÌÁýÆ® & ȨÆäÀÌÁö)";     // ÁúÀÇ
    string u_query;                                 // ÁúÀǸ¦ UTF-8·Î º¯È¯
    EUCKR_TO_UTF8(query, u_query);
    p_in.query = u_query;                           // ÁúÀǾî ÁöÁ¤

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

    cout << "=========================================" << endl;
    cout << " °Ë»ö °á°ú ¹®¼­ ¼ö : " << p_out.total_df << endl;
    cout << " °Ë»ö °á°ú ¼Â ½Äº°ÀÚ : " << p_out.set_id << endl;
    cout << " °Ë»ö ¼öÇà ½Ã°£ : " << p_out.service_time << endl;
    cout << "=========================================" << endl;