永发信息网

如何使用Xapian进行数据写入和查找

答案:2  悬赏:0  手机版
解决时间 2021-03-20 10:58
如何使用Xapian进行数据写入和查找
最佳答案
数据写入
//首先建立db对象
Xapian::WritableDatabase* db; 首先建立可写入的xapian格式的数据库
//建立一个string类型的字符串
string para;

//在运用时首先在构造函数中创建对象
db = new Xapian::WritableDatabase(Index_dir, Xapian::DB_CREATE_OR_OPEN);
//其中index_dir是存储目录,xapian存储的地方是一个文件夹,后面的参数为xapian自带参数

//进行数据写入
Xapian::Document doc;
Xapian::TermGenerator indexer;
//把一个含有多个字段的结构数值进行拼装,用到最初的para字符串,log是一个结构
para = log.cmd + " " + log.cmd_string + " " + log.conn_time + " "+ log.post_param + " " + log.probe_id + " " + log.cookie + " "+ log.sip + " " + log.sport;
//设定主数据,该数据可以被多个关键字进行标识
doc.set_data(para);
//构建关键字,属于精确匹配的范围,add_term用于建立模糊查询的关键字
doc.add_value(1, log.cmd);
doc.add_value(2, log.conn_time);
doc.add_value(3, log.post_param);
doc.add_value(4, log.probe_id);
doc.add_value(5, log.sip);
doc.add_value(6, log.sport);
doc.add_value(7, log.cookie);
doc.add_value(8, log.cmd_string);
//建立索引信息
indexer.set_document(doc);
indexer.index_text(para);
//把文件添加到数据库中
db->add_document(doc);
全部回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高速公路上开车为什么要躲小动物
给一个人发微信红包两个人抢怎样发
珍研是不是传销?
为什么用完化妆品脸上粘粘的
故事书的本数占图书总数的8分之3,是把什么看
撒哟娜拉是什么意思
公务员签订聘任合同应遵循哪些原则?
中影国际影城山姆店今天晚上有什么影片放映
天和广告有限公司怎么去啊,有知道地址的么
假面骑士decade机车为什么能变成人马形态
人有________对染色体,其中________对染色体
一起来看流星雨 云海送雨荨的他们两个人的玩
王者荣耀这个版本的貂蝉厉害吗
铃木sv650蒙面超人价钱多少
oracle 查询数据库全名的sql语句怎么写
推荐资讯
求函数y=log 1/2 sin(2x+π/4)的单调区间
现代艳帝龙霄传奇下载
农历初一能不能搬家
空开 下雨天稍冷不跳闸 天晴热的时候跳闸
科三网上预约 怎么查询是否有名额
我采用:开始-运行-cmd模式下,建立文件夹,
冒险岛手游怎么刷等级跟 灵魂石
山西顺溜面馆在太原开加盟费是多少?
二年的丹参营养成份和一年的丹参营养成份,哪
C1B2驾 照要多少钱,买真实驾驶证
剑光电影院(东方红大街店)地址有知道的么?有
2014甘肃高考录取查询入口
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?