first_searcher

#include<iostream>

#include<xapian.h>

 

using namespace std;

 

int main(int argc , char **argv){

 

    if(argc<3){

       cout<<"usage: "<<"<pathto database> <search terms>"<<endl;

       }

   try{

    Xapian::Database  database(argv[1]);

    Xapian::Enquire  enquire(database);

    Xapian::Query  query(Xapian::Query::OP_OR,argv+2,argc+argv);


/*

vector<string> queryterms;
for (int optpos = 2; optpos < argc; optpos++) {
    queryterms.push_back(argv[optpos]);
}
Xapian::Query query(Xapian::Query::OP_OR, queryterms.begin(), queryterms.end());
*/


    cout<<"performingquery: "<<query.get_description()<<" "<<endl;

    enquire.set_query(query);

    Xapian::MSet  matches = enquire.get_mset(0,10);

    cout<<matches.size()<<"result found"<<endl;

    for(Xapian::MSet  Iteratori = matches.begin();i != matches.end() ;i++){

       Xapian::Document  document = i.get_document();

       cout<<"documentID:"<<*i<<"\t"<<i.get_percent()<<"%["<<document.get_data()<<"]"<<endl;

       }

       }   catch(const Xapian::Error &error){

       cout<<"exception:"<<error.get_msg()<<endl;

    }

}


 

g++ -std=c++0x indexer.cpp –o indexout –lxapian

g++ -std=c++0x searcher.cpp –o searchout –lxapian

$ ./quickstartindex proverbs \
> "people who live in glass houses should not throw stones" \
> people live glass house stone
$ ./quickstartindex proverbs \
> "Don't look a gift horse in the mouth" \
> look gift horse mouth
$ ./quickstartsearch proverbs gift
Performing query `look'
1 results found
Document ID 2   100% [Don't look a gift horse in the mouth]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值