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;