Foxit PDF SDK
foxit::fts::FullTextSearch Class Reference
Inheritance diagram for foxit::fts::FullTextSearch:
foxit::Base

Public Types

enum  RankMode { e_RankNone = 0, e_RankHitCountASC = 1, e_RankHitCountDESC = 2 }
 Enumeration for rank mode of full text search. More...
 

Public Member Functions

 FullTextSearch ()
 Constructor.
 
 FullTextSearch (const FullTextSearch &other)
 Constructor, with another full text search object. More...
 
 ~FullTextSearch ()
 Destructor.
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool operator != (const FullTextSearch &other) const
 Not equal operator. More...
 
FullTextSearchoperator= (const FullTextSearch &other)
 Assign operator. More...
 
bool operator== (const FullTextSearch &other) const
 Equal operator. More...
 
bool SearchOf (const char *match_string, RankMode rank_mode, SearchCallback *callback)
 Search for specified text among the indexed PDF files. More...
 
void SetDataBasePath (const char *path_of_data_base)
 Set a file path as sqlite data base which is used for storing the indexed data. More...
 
common::Progressive StartUpdateIndex (const DocumentsSource &source, common::PauseCallback *pause=0, bool reupdate=false)
 Start to update the index of PDF files defined in a documents source object. More...
 
bool UpdateIndexWithFilePath (const char *file_path)
 Update the index result of a specified PDF file. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Detailed Description

This class is used to index some PDF files and then search specified text among these indexed PDF files.

Member Enumeration Documentation

◆ RankMode

Enumeration for rank mode of full text search.

Values of this enumeration should be used alone.

Enumerator
e_RankNone 

No ranking mode is used for searching results.

e_RankHitCountASC 

Rank the searching results according to how the result matches the expected searching patten, in ascending order (from less similar to most similar or the same).

e_RankHitCountDESC 

Rank the searching results according to how the result matches the expected searching patten, in descending order (from the same or most similar to less similar).

Constructor & Destructor Documentation

◆ FullTextSearch()

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

Constructor, with another full text search object.

Parameters
[in]otherAnother full text search object.

Member Function Documentation

◆ IsEmpty()

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

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ operator !=()

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

Not equal operator.

Parameters
[in]otherAnother full text search object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

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

Assign operator.

Parameters
[in]otherAnother full text search object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

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

Equal operator.

Parameters
[in]otherAnother full text search object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.

◆ SearchOf()

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

Search for specified text among the indexed PDF files.

This function can be used to search among several PDF files, which have been indexed by function FullTextSearch::StartUpdateIndex or FullTextSearch::UpdateIndexWithFilePath. The searching result will be returned through callback function SearchCallback::RetrieveSearchResult, in specified ranking mode.

Parameters
[in]match_stringA string to be searched. It should not be an empty string.
[in]rank_modeThe ranking mode used for searching results. Please refer to values starting from FullTextSearch::e_RankNone and this should be one of these values.
[in]callbackA SearchCallback object. It should not be NULL. User should implement it and use it to retrieve the searching results.
Returns
true means success, while false means failure.

◆ SetDataBasePath()

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

Set a file path as sqlite data base which is used for storing the indexed data.

This function is only useful before updating the index of PDF files for the first time by function FullTextSearch::StartUpdateIndex or FullTextSearch::UpdateIndexWithFilePath. Once the updating has been done, this function will be useless.
If this function has never called for current full text search object successfully, the default file for sqlite data would be named as "fts.db" and located with application file.

Parameters
[in]path_of_data_baseA file path to specify a file as sqlite data base. It should not be an empty string.
Returns
None.

◆ StartUpdateIndex()

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

Start to update the index of PDF files defined in a documents source object.

It may take a long time to do this updating, so Foxit PDF SDK uses a progressive process to do this.
Only PDF files under the specified directory (including sub-directory) defined in documents source can be indexed.

Parameters
[in]sourceA documents source object, which defines a directory to be indexed.
[in]pausePause callback object which decides if the updating process needs to be paused. This can be NULL which means not to pause during the updating process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL.
[in]reupdatetrue means to re-update the indexes, and false means not to re-update the indexes. Default value: false.
Returns
A progressive object. Please check the rate of current progress by function common::Progressive::GetRateOfProgress. If the rate is not 100 yet, call function common::Progressive::Continue to coninue the progress until the progress is finished.

◆ UpdateIndexWithFilePath()

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

Update the index result of a specified PDF file.

This function can be used to update the index result of a single PDF file.

Parameters
[in]file_pathAn existed PDF file path. It should not be an empty string.
Returns
true means success, while false means failure.