关于Xapian初学者的几个问题
来源:互联网 发布:xecdn32h编程软件 编辑:程序博客网 时间:2024/05/16 05:49
问题1:
我看到Xapian::Document有一个方法
void add_value (Xapian::valueno valueno, const std::string &value)
这个方法的作用是什么呢?Xapian中的文件与terms关键词是相关的,那这个又是什么关系?
解答1:
values是数据额外的信息部分,在一些情况下可以用来对搜索过程进行搜索的更正。例如,他们可以用于对一些文件添加额外的字段,或者对结果用一种不同的方式进行排序,或者对从一个单一网站得到的结果进行分解和筛选。
问题2:
add_posting 方法将会在文件中添加一个关键字
void add_posting (const std::string &tname, Xapian::termpos tpos, Xapian::termcount wdfinc=1)
我注意到 Xapian::TermGenerator有如下的方法
void index_text (const Xapian::Utf8Iterator &itor, Xapian::termcount weight=1, const std::string &prefix="")
这两个方法和区别和联系在哪?
解答2:
TermGenerator是一个类,该类用于分析提供给它的文本,把文本拆开为单独的单词,同时采用合适的填充操作符。它会产生与QueryParser类提供的相兼容的关键字。
Document::add_posting()和Document::add_term()仅对一个文件添加一个关键字。该关键字被添加到文档中时也就被提供给了函数;没有执行填充,同时关键词也没有为一个单词分解为不同的关键词。这些功能都是通过TermGenerator调用来给文档添加它产生的关键词。
通常情况下,如果你有一段文本检索,TermGenerator应该被使用,同时你也希望产生查询条件使用QueryParse类来搜索文本。如果你需要添加特定的关键字,那就要使用add_term()或者add_posting()。要么是因为你需要实现你自己的关键字产生策略,要么是因为你在数据库中存储了额外的信息,例如实现一些布尔过滤器。
- 关于Xapian初学者的几个问题
- 答初学者的几个问题
- 初学者最常问的几个问题
- java初学者常见的几个问题
- 初学者常问的几个问题
- 02 初学者最常问的几个问题
- 关于《仙剑》的几个问题
- 关于CCheckListBox的几个问题!
- 关于网络的几个问题
- 关于分区的几个问题
- 关于人生目标的几个问题
- 关于进程的几个问题
- 关于Timer的几个问题
- 关于servlet的几个问题
- 关于Java的几个问题
- 关于OO的几个问题
- 关于VS的几个问题
- 关于jsp的几个问题
- 使用Visual C#实现断点续传
- Ext.js核心函数详解
- 成功密码是1∶125
- [C++设计]如何设计支持网络序列化的类
- ora11g 压缩新特性
- 关于Xapian初学者的几个问题
- c++ dll
- objective-c整型值和浮点值应用中要注意的问题
- ubuntu 下解压,打包 命令
- 用C#实现基于TCP协议的网络通讯
- 经历错误,积累成功
- SVN服务端搭建
- JS简单方法打印页面指定内容
- android---拖动条(SeekBar)