#include<iostream>
#include<xapian.h>
using namespace std;
int main(int argc , char **argv){
try{
Xapian::Databasedatabase(argv[1]);
//查询会话
Xapian::Enquireenquire(database);
stringquerystring(argv[2]);
argv += 3;
while(*argv){
querystring+= " ";
querystring+= *argv++;
}
//查询解析器
Xapian::QueryParser qp;
Xapian::Stem stemmer("english");
qp.set_stemmer(stemmer);
qp.set_database(database);
qp.set_stemming_strategy(Xapian::QueryParser::STEM_SOME);
Xapian::Queryquery = qp.parse_query(querystring);
cout<<"parserquery is : "<<query.get_description()<<endl;
enquire.set_query(query);
Xapian::MSetmatches = enquire.get_mset(0 ,10);
cout<<matches.get_matches_estimated()<<"results found. \n";
cout<<"matches1-" <<matches.size()<<": \n"<<endl;
for(Xapian::MSetIteratori=matches.begin(); i != matches.end() ; i++){
cout<<i.get_rank()+1<<":"<<i.get_percent() <<"%docid="<<*i<<"["<<i.get_document().get_data()<<"]\n\n";}
}catch(constXapian::Error &e){
cout<<e.get_description()<<endl;
exit(1);
}
}
g++ -std=c++0x indexer.cpp -o indexout -lxapian
g++ -std=c++0x searcher.cpp -o searchout -lxapian
./indexout demo1
./searchout demo1 ** **