如何使用Xapian进行数据写入和查找
答案:2 悬赏:0 手机版
解决时间 2021-03-20 10:58
- 提问者网友:缘字诀
- 2021-03-19 10:20
如何使用Xapian进行数据写入和查找
最佳答案
- 五星知识达人网友:迟山
- 2021-03-19 11:15
数据写入
//首先建立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);
//首先建立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);
全部回答
- 1楼网友:等灯
- 2021-03-19 11:40
额
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯