Description
RETRIEVE¿Í µ¿ÀÏÇϳª ¿©·¯ Å×À̺íÀ» ±×·ìÇÎÇÏ¿© °Ë»ö °á°ú¸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù. °Ë»ö ´ë»óÀÌ µÇ´Â ¸ðµç Å×À̺íµéÀÇ ½ºÅ°¸¶´Â °°¾Æ¾ß Çϸç RETRIEVE¿Í ´Þ¸® Integrate ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ±×·ì ÁöÁ¤Àº ±×·ìÇÎ µÉ Å×À̺íµéÀÇ ¼ö¸¦ group_counts¿¡ ³Ö¾îÁØ´Ù. ¼ø¼´Â Å×ÀÌºí ¸®½ºÆ®¿¡ ³ÖÀº Å×À̺íµéÀÇ ¼ø¼¸¦ µû¸¥´Ù.
°á°ú´Â document_groups À¸·Î ³ª¿À°Ô µÇ¸ç °¢ ±×·ì º° set_id¿Í °Ë»ö °Ç¼ö, ÃßÁ¤ °Ç¼ö°¡ ÃßÃâµÈ´Ù. ¶Ç, ±×·ìº° °Ç¼ö¸¦ ¸ðµÎ ´õÇÑ total_df ¿Í estimated_total_dfµµ °á°ú·Î Á¦½ÃÇÑ´Ù. ´ëÇ¥ set_id´Â ´ç¿¬È÷ ¾ø´Ù.
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] vector group_counts; table_namelist¿¡ ÁöÁ¤µÈ Å×À̺íµéÀ» ±×·ìÇÎÇÒ °ªÀ» ÁöÁ¤[ÁÖ] group_counts¸¦ Á¦¿ÜÇÑ ¸ðµç ÆÄ¶ó¹ÌÅÍ´Â RETRIEVE¿¡¼ »ç¿ëÇÏ´Â ÆÄ¶ó¹ÌÅÍ¿Í µ¿ÀÏÇÏ´Ù
OutParameter
unsigned int total_df; [°Ë»ö°á°ú °Ç¼ö] unsigned int estimated_total_df; [°Ë»ö ¹®¼ ÃßÁ¤Ä¡(VECTOR_MODEL¿¡¼ »ç¿ë)] vector document_groups; [±×·ì´ç °á°ú] long unsigned int service_time; [½ÇÇà½Ã°£]
Example
// °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
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);
ClientLIB clientLib(get_kristald_ip(), get_kristald_port());
Cparameter_t p_in, p_out; // ¸Å°³º¯¼ö Ŭ·¡½º ¼±¾ð
p_in.table_namelist = table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
p_in.space_operator = space_op; // °ø¹é ó¸® ¹æ¹ý ÁöÁ¤
p_in.method = ret_model; // °Ë»ö ¸ðµ¨ ÁöÁ¤
p_in.term_expansion = FULL_QUERY_TERM_EXPANSION;
query = "(ABS : Á¤º¸)";
string u_query; // ÁúÀǸ¦ UTF-8·Î º¯È¯
EUCKR_TO_UTF8(query, u_query);
p_in.query = u_query; // ÁúÀǾî ÁöÁ¤
// ±×·ì ÁöÁ¤
p_in.group_counts.push_back(1); // GROUP1 --> BLUE01
p_in.group_counts.push_back(2); // GROUP2 --> BLUE02, BLUE03
// °Ë»ö ¼öÇà
RedirectStdoutInit();
int ret_val = clientLib.Request(MULTIPLE_RETRIEVE, p_in, p_out);
RedirectStdoutClose();
if (ret_val != 0) {
cout << "ERROR : " << p_out.errmsg << "(" << p_out.errcode << ")" << endl;
return -1;
}
// Àüü (GROUP-1°ú GROUP-2)¿¡ ´ëÇÑ °Ë»ö °á°ú
cout << "=========================================" << endl;
cout << " Àüü °Ë»ö°á°ú" << endl;
cout << "=========================================" << endl;
cout << " °Ë»ö °á°ú ¹®¼ ¼ö : " << p_out.total_df << endl;
cout << " °Ë»ö °á°ú ¿¹»ó ¼ö : " << p_out.estimated_total_df << endl;
cout << " °Ë»ö ¼Ò¿ä ½Ã°£ : " << p_out.service_time<< " (ms)" << endl;
cout << "=========================================" << endl;
cout << "[´ÙÀ½À¸·Î ³Ñ¾î°¡±â À§ÇØ ¾Æ¹« Ű³ª ´©¸£¼¼¿ä]" << endl;
getchar();
// °¢°¢ÀÇ °á°ú¿¡ ´ëÇÑ "¼Â¹øÈ£"¿Í "°á°ú°Ç¼ö"¸¦ Ãâ·Â
// ¾Æ·¡ °á°ú¸¦ ÀÌ¿ëÇÏ¿© °³º° °Ë»ö°á°ú Ãâ·Â °¡´É
for (int i = 0; i < p_out.document_groups.size(); i++) {
cout << "---------------------------------------------------" << endl;
cout<<"[±×·ì "<< i <<"]" << endl;
cout << "\t" << "¼Â¹øÈ£ : "<< p_out.document_groups[i].set_id << endl;
cout << "\t" << "°Ë»ö°á°ú °Ç¼ö : " << p_out.document_groups[i].df_per_group << endl;
cout << "\t" << "°Ë»ö°á°ú ÃßÁ¤Ä¡ : " << p_out.document_groups[i].estimated_df_per_group << endl;
}
cout << "==============================================================================" << endl << endl;
return 0;