This object ranks and displays the result of the indexed fulltext search.
If you are not comfortable with this API feel free to use your own methods to
display the search results.
The search result is basically an array with article ID's.
If $search_result = $search->searchIndex($searchword, $searchwordex);
use object with
$oSearchResults = new cSearchResult($search_result, 10);
$oSearchResults->setReplacement('', ''); //
html-tags to emphasize the located searchwords
$num_res = $oSearchResults->getNumberOfResults();
$num_pages = $oSearchResults->getNumberOfPages();
$res_page = $oSearchResults->getSearchResultPage(1); // first result page
foreach ($res_page as $key => $val) {
$headline = $oSearchResults->getSearchContent($key, 'HTMLHEAD');
$first_headline = $headline[0];
$text = $oSearchResults->getSearchContent($key, 'HTML');
$first_text = $text[0];
$similarity = $oSearchResults->getSimilarity($key);
$iOccurrence = $oSearchResults->getOccurrence($key);
}
version |
1.0.0 |
author |
Willi Man |
copyright |
four for business AG |
Methods
Compute ranking factor for each search result and order the search
results by ranking factor
NOTE: The ranking factor is the sum of occurences of matching searchterms
weighted by similarity (in %) between searchword
and matching word in the article.
__construct(array $search_result, int $result_per_page, \cDb $oDB, bool $bDebug)
TODO: One can think of more sophisticated ranking strategies. One could
use the content type information for example
because a matching word in the headline (CMS_HEADLINE[1]) could be
weighted more than a matching word in the text (CMS_HTML[1]).
deprecated |
[2012-07-24] class was renamed to cSearchResult |
Parameters
$search_result
array
List of article ids
$result_per_page
int
Number of items per page
$oDB
\cDb
Optional db instance
$bDebug
bool
Optional flag to enable debugging
cSearchResult()
cSearchResult($search_result, $result_per_page, $oDB, $bDebug)
deprecated |
Use __construct() |
Parameters
$search_result
$result_per_page
$oDB
$bDebug
getArtCat()
getArtCat($artid) : \Category
Inherited
inherited_from |
\cSearchResult::getArtCat() |
Parameters
$artid
Returns
\Category
Id
getContent()
getContent($art_id, $cms_type, $id) : \Content
Inherited
inherited_from |
\cSearchResult::getContent() |
Parameters
$cms_type
$id
Returns
\Content
of an article, specified by it's content type
Returns number of result pages
getNumberOfPages() : int
Inherited
inherited_from |
\cSearchResult::getNumberOfPages() |
Returns
int
Returns number of results
getNumberOfResults() : int
Inherited
inherited_from |
\cSearchResult::getNumberOfResults() |
Returns
int
getOccurrence()
getOccurrence($art_id) : \Number
Inherited
inherited_from |
\cSearchResult::getOccurrence() |
Parameters
Returns
\Number
of matching searchwords found in article
getSearchContent()
getSearchContent($art_id, $cms_type, $cms_nr) : \Content
Inherited
inherited_from |
\cSearchResult::getSearchContent() |
Parameters
$cms_nr
Returns
\Content
of an article in search result, specified by its type
Returns articles in page.
getSearchResultPage(int $page_id) : array
Inherited
inherited_from |
\cSearchResult::getSearchResultPage() |
Parameters
$page_id
int
Returns
array
Artices in page $page_id
getSimilarity()
getSimilarity($art_id) : \Similarity
Inherited
inherited_from |
\cSearchResult::getSimilarity() |
Parameters
Returns
\Similarity
between searchword and matching word in article
Setter for debug
setDebug(bool $bDebug)
Inherited
inherited_from |
\cSearchBaseAbstract::setDebug() |
inherited_from |
\cSearchResult::setDebug() |
Parameters
$bDebug
bool
setOrderedSearchResult()
setOrderedSearchResult($ranked_search, $result_per_page) : void
Inherited
inherited_from |
\cSearchResult::setOrderedSearchResult() |
Parameters
$ranked_search
$result_per_page
setReplacement()
setReplacement(string $rep1, string $rep2) : void
Inherited
inherited_from |
\cSearchResult::setReplacement() |
Parameters
$rep1
string
The opening html-tag to emphasize the searchword e.g.
''
$rep2
string
The closing html-tag e.g. ''
Main debug function, prints dumps parameter if debugging is enabled
_debug(string $msg, mixed $var)
Inherited
inherited_from |
\cSearchBaseAbstract::_debug() |
inherited_from |
\cSearchResult::_debug() |
Parameters
$var
mixed
The variable to dump
Properties
$_index : object
Inherited
inherited_from |
\cSearchResult::$$_index |
$_orderedSearchResult : array
Inherited
inherited_from |
\cSearchResult::$$_orderedSearchResult |
$_pages : int
Inherited
inherited_from |
\cSearchResult::$$_pages |
$_rankStructure : array
Inherited
inherited_from |
\cSearchResult::$$_rankStructure |
$_replacement : array
Inherited
inherited_from |
\cSearchResult::$$_replacement |
$_resultPage : int
Inherited
inherited_from |
\cSearchResult::$$_resultPage |
$_resultPerPage : int
Inherited
inherited_from |
\cSearchResult::$$_resultPerPage |
$_results : int
Inherited
inherited_from |
\cSearchResult::$$_results |
$_searchResult : array
Inherited
inherited_from |
\cSearchResult::$$_searchResult |
$bDebug : bool
Inherited
inherited_from |
\cSearchBaseAbstract::$$bDebug |
inherited_from |
\cSearchResult::$$bDebug |
$cfg : array
Inherited
inherited_from |
\cSearchBaseAbstract::$$cfg |
inherited_from |
\cSearchResult::$$cfg |
$client : int
Inherited
inherited_from |
\cSearchBaseAbstract::$$client |
inherited_from |
\cSearchResult::$$client |
$lang : int
Inherited
inherited_from |
\cSearchBaseAbstract::$$lang |
inherited_from |
\cSearchResult::$$lang |
$oDB : \cDb
Inherited
inherited_from |
\cSearchBaseAbstract::$$oDB |
inherited_from |
\cSearchResult::$$oDB |