Description
RETRIEVE ÇÁ·ÎÅäÄÝÀ» È®ÀåÇÏ¿© ±×·ì´ÜÀ§ °Ë»ö°á°ú¸¦ ¹ÝȯÇÏ´Â ÇÁ·ÎÅäÄÝÀ̸ç, RETRIEVE³ª MULTIPLE_RETRIEVE¿Í ´Þ¸® °Ë»öµÈ °á°ú¸¦ ÀúÀåÇÏÁö ¾Ê´Â´Ù.
integrate¸¦ ÀÌ¿ëÇÏ´Â ¹æ½ÄÀº ¼¼ °¡Áö°¡ ÀÖÀ¸¸ç, ÀÌ Áß SCHEMA_GROUP¿¡ ´ëÇÑ ºÎºÐÀ» ¼³¸íÇÑ´Ù
InParameter
[ÁÖ] RETRIEVE¿¡¼ »ç¿ëÇÏ´Â ÀϹÝÀûÀÎ ÆÄ¶ó¹ÌÅͿܿ¡ integrate¿Í °ü·ÃµÈ ºÎºÐ¸¸ ¼³¸íÇÑ´Ù.
µðÆúÆ® °ªÀº °ËÀº»öÀ¸·Î Ç¥ÇöµÊ
bool integrate.is_used; [true | false] int integrate.group_type; [SCHEMA_GROUP | TABLE_GROUP | SECTION_GROUP] int integrate.sorting_key_type; [NO_ACTION | K_STRING | K_NUMBER] bool integrate.order; [ASCENDING | DESCENDING] vector integrate.section_namelist; [Á¤·ÄÀ» ¼±ÅÃÇÏ¿´´Ù¸é Á¤·Ä¼½¼Ç(µé)À» ÁöÁ¤] unsigned int integrate.counter [±×·ì´ç °¡Á®¿Ã °á°ú °Ç¼ö] vector integrate.display_section_namelist [°Ë»ö°á°ú¸¦ Ãâ·ÂÇÒ ¼½¼Ç(µé)À» ÁöÁ¤]
OutParameter
vector document_groups; [±×·ì´ç °á°ú¸¦ ÀúÀåÇÑ ±¸Á¶Ã¼]
Example
vector table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
vector section_namelist; // °£·«º¸±â¿¡¼ Ãâ·ÂÇÒ ¼½¼Ç¸í
table_namelist.push_back("blue01");
table_namelist.push_back("blue02");
table_namelist.push_back("blue03");
ClientLIB clientLib(SERVER_IP, SERVER_PORT);
Cparameter_t p_in, p_out; // ¸Å°³º¯¼ö Ŭ·¡½º ¼±¾ð
p_in.table_namelist = table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
p_in.space_operator = SPACE_AND; // °ø¹é ó¸® ¹æ¹ý ÁöÁ¤(ObjectClasses.h ÂüÁ¶)
p_in.method = BOOLEAN_MODEL; // °Ë»ö ¸ðµ¨ ÁöÁ¤(ObjectClasses.h ÂüÁ¶)
string query = "ABS : Á¤º¸";
string u_query; // ÁúÀǸ¦ UTF-8·Î º¯È¯
EUCKR_TO_UTF8(query, u_query);
p_in.query = u_query; // ÁúÀǾî ÁöÁ¤
// Integrate ¹æ¹ý »ç¿ëÀ» À§ÇÑ ¼¼ÆÃ
p_in.integrate.is_used = true; // Integrate ¹æ¹ýÀ» »ç¿ë (default´Â false·Î »ç¿ë¾ÈÇÔ)
// Integrate ¹æ¹ý ÁöÁ¤(TABLE_GROUP(default) | SCHEMA_GROUP | SECTION_GROUP
p_in.integrate.group_type = SCHEMA_GROUP;
//------------------- °Ë»ö°á°ú Á¤·Ä Ç׸ñ ÁöÁ¤ -------------------------
// Á¤·ÄÇü½Ä ÁöÁ¤(default´Â NO_ACTIONÀ¸·Î Á¤·ÄÇÏÁö ¾ÊÀ½)
p_in.integrate.sorting_key_type=K_STRING; // NO_ACTION | K_STRING | K_NUMBER
// À§ÀÇ Á¤·ÄÇü½ÄÀÌ K_STRING | K_NUMBERÀÎ °æ¿ì¸¸ ¾Æ·¡ Ç׸ñµéÀ» ÁöÁ¤
p_in.integrate.order= ASCENDING; // ASCENDING(default) | DESCENDING;
// Á¤·Ä ¼½¼ÇÀº º¹¼ö°³ ÁöÁ¤°¡´É
p_in.integrate.section_namelist.push_back("CON");
p_in.integrate.section_namelist.push_back("TIK");
//------------------- °Ë»ö°á°ú Á¤·Ä Ç׸ñ ÁöÁ¤(³¡) ---------------------
p_in.integrate.counter = 5; // ±×·ì´ç Ãâ·ÂÇÒ °á°ú °Ç¼ö
// ±×·ì´ç Ãâ·ÂÇÒ ¼½¼ÇÇ׸ñ ÁöÁ¤
//p_in.integrate.display_section_namelist.push_back(ALL_SECTIONS);
p_in.integrate.display_section_namelist.push_back("CLS");
p_in.integrate.display_section_namelist.push_back("CON");
p_in.integrate.display_section_namelist.push_back("TIK");
// °Ë»ö ¼öÇà
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;
}
int total_count = 0;
for(int i = 0; i < p_out.document_groups.size(); i++) // Å×ÀÌºí ¼ö ¸¸Å ·çÇÁ
{
total_count += p_out.document_groups[i].df_per_group;
cout << "========================================================\n";
cout << " °Ë»ö °á°ú ¹®¼ ¼ö(±×·ì´ç) : " << p_out.document_groups[i].df_per_group << endl;
// ±×·ì´ç °ü·ÃµÈ Á¤º¸¸¦ Ãâ·Â
for(int j=0; j < p_out.document_groups[i].documents.size(); j++)
{
cout << "[" << p_out.document_groups[i].documents[j].table_id;
cout << "," << p_out.document_groups[i].documents[j].document_id;
cout << "," << p_out.document_groups[i].documents[j].weight;
cout << "]";
for(int k=0; k < p_out.document_groups[i].documents[j].sections.size(); k++)
{
cout << "[" << UECONVCODE(p_out.document_groups[i].documents[j].sections[k].section_value) << "]";
}
cout << endl;
}
cout << "========================================================\n";
}
cout << "Àüü ±×·ì¼ö : " << p_out.document_groups.size() << endl;
cout << "Àüü °Ç¼ö : " << total_count << endl;
cout << "========================================================\n";
return 0;