Foxit PDF SDK
foxit::fts::FullTextSearch类 参考
类 foxit::fts::FullTextSearch 继承关系图:
foxit::Base

Public 类型

enum  RankMode { e_RankNone = 0, e_RankHitCountASC = 1, e_RankHitCountDESC = 2 }
 全文搜索的排序模式枚举。 更多...
 

Public 成员函数

 FullTextSearch ()
 构造函数。
 
 FullTextSearch (const FullTextSearch &other)
 用另一个全文搜索对象构造函数。 更多...
 
 ~FullTextSearch ()
 析构函数。
 
bool IsEmpty () const
 检查当前对象是否为空。 更多...
 
bool operator != (const FullTextSearch &other) const
 不相等操作符。 更多...
 
FullTextSearchoperator= (const FullTextSearch &other)
 赋值操作符。 更多...
 
bool operator== (const FullTextSearch &other) const
 相等操作符。 更多...
 
bool SearchOf (const char *match_string, RankMode rank_mode, SearchCallback *callback)
 在已索引的PDF文件中搜索指定的文本。 更多...
 
void SetDataBasePath (const char *path_of_data_base)
 设置文件路径作为用于存储索引数据的sqlite数据库。 更多...
 
common::Progressive StartUpdateIndex (const DocumentsSource &source, common::PauseCallback *pause=0, bool reupdate=false)
 开始更新文档源对象中定义的PDF文件的索引。 更多...
 
bool UpdateIndexWithFilePath (const char *file_path)
 更新指定PDF文件的索引结果。 更多...
 
- Public 成员函数 继承自 foxit::Base
FS_HANDLE Handle () const
 获取当前对象的句柄。 更多...
 

详细描述

此类用于索引一些PDF文件,然后在这些已索引的PDF文件中搜索指定的文本。

成员枚举类型说明

◆ RankMode

全文搜索的排序模式枚举。

此枚举的值应单独使用。

枚举值
e_RankNone 

搜索结果不使用排序模式。

e_RankHitCountASC 

根据结果与预期搜索模式的匹配程度对搜索结果进行排序, 按升序排列(从相似度较低到最相似或相同)。

e_RankHitCountDESC 

根据结果与预期搜索模式的匹配程度对搜索结果进行排序, 按降序排列(从相同或最相似到相似度较低)。

构造及析构函数说明

◆ FullTextSearch()

foxit::fts::FullTextSearch::FullTextSearch ( const FullTextSearch other)

用另一个全文搜索对象构造函数。

参数
[in]other另一个全文搜索对象。

成员函数说明

◆ IsEmpty()

bool foxit::fts::FullTextSearch::IsEmpty ( ) const

检查当前对象是否为空。

当当前对象为空时,意味着当前对象是无用的。

返回
true 表示当前对象为空,false 表示不为空。

◆ operator !=()

bool foxit::fts::FullTextSearch::operator != ( const FullTextSearch other) const

不相等操作符。

参数
[in]other另一个全文搜索对象。此函数将检查当前对象是否与此对象不相等。
返回
true 表示不相等,false 表示相等。

◆ operator=()

FullTextSearch& foxit::fts::FullTextSearch::operator= ( const FullTextSearch other)

赋值操作符。

参数
[in]other另一个全文搜索对象,其值将被赋给当前对象。
返回
对当前对象本身的引用。

◆ operator==()

bool foxit::fts::FullTextSearch::operator== ( const FullTextSearch other) const

相等操作符。

参数
[in]other另一个全文搜索对象。此函数将检查当前对象是否与此对象相等。
返回
true 表示相等,false 表示不相等。

◆ SearchOf()

bool foxit::fts::FullTextSearch::SearchOf ( const char *  match_string,
RankMode  rank_mode,
SearchCallback callback 
)

在已索引的PDF文件中搜索指定的文本。

此函数可用于在多个PDF文件中进行搜索,这些文件已通过函数 FullTextSearch::StartUpdateIndexFullTextSearch::UpdateIndexWithFilePath 被索引。 搜索结果将通过回调函数 SearchCallback::RetrieveSearchResult 返回,按指定的排序模式。

参数
[in]match_string要搜索的字符串。它不应是空字符串,并应是UTF-8编码。
[in]rank_mode用于搜索结果的排序模式。请参考从 FullTextSearch::e_RankNone 开始的值,这应该是这些值中的一个。
[in]callbackSearchCallback 对象。它不应为NULL。 用户应实现它并使用它来检索搜索结果。
返回
true 表示成功,false 表示失败。

◆ SetDataBasePath()

void foxit::fts::FullTextSearch::SetDataBasePath ( const char *  path_of_data_base)

设置文件路径作为用于存储索引数据的sqlite数据库。

此函数只在第一次通过函数 FullTextSearch::StartUpdateIndexFullTextSearch::UpdateIndexWithFilePath 更新PDF文件索引之前有用。 一旦更新完成,此函数将变为无用。
如果从未为当前全文搜索对象成功调用过此函数,sqlite数据的默认文件 将被命名为"fts.db"并与应用程序文件位于同一位置。

参数
[in]path_of_data_base指定文件作为sqlite数据库的文件路径。它不应是空字符串,并应是UTF-8编码。
返回
无。

◆ StartUpdateIndex()

common::Progressive foxit::fts::FullTextSearch::StartUpdateIndex ( const DocumentsSource source,
common::PauseCallback pause = 0,
bool  reupdate = false 
)

开始更新文档源对象中定义的PDF文件的索引。

此更新可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来完成此操作。
只有在文档源定义的指定目录(包括子目录)下的PDF文件才能被索引。数据库中不位于 文档源定义的指定目录(包括子目录)内的PDF文件的索引将被删除。

参数
[in]source文档源对象,定义要索引的目录。
[in]pause暂停回调对象,决定更新过程是否需要暂停。 这可以是NULL,意味着在更新过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL
[in]reupdatetrue 表示重新更新数据库中现有的索引信息,false 表示不重新更新 数据库中现有的索引信息。默认值:false
返回
渐进对象。请通过函数 common::Progressive::GetRateOfProgress 检查当前进度的比率。如果比率还不是100,调用函数 common::Progressive::Continue 继续进度,直到进度完成。

◆ UpdateIndexWithFilePath()

bool foxit::fts::FullTextSearch::UpdateIndexWithFilePath ( const char *  file_path)

更新指定PDF文件的索引结果。

此函数可用于更新单个PDF文件的索引结果。

参数
[in]file_path现有的PDF文件路径。它不应是空字符串,并应是UTF-8编码。
返回
true 表示成功,false 表示失败。