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
arrayList of article ids
$result_per_page
intNumber of items per page
$oDB
\cDbOptional db instance
$bDebug
boolOptional 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
\CategoryId
getContent()
getContent($art_id, $cms_type, $id) : \Content
Inherited
| inherited_from |
\cSearchResult::getContent() |
Parameters
$cms_type
$id
Returns
\Contentof 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
\Numberof matching searchwords found in article
getSearchContent()
getSearchContent($art_id, $cms_type, $cms_nr) : \Content
Inherited
| inherited_from |
\cSearchResult::getSearchContent() |
Parameters
$cms_nr
Returns
\Contentof 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
arrayArtices in page $page_id
getSimilarity()
getSimilarity($art_id) : \Similarity
Inherited
| inherited_from |
\cSearchResult::getSimilarity() |
Parameters
Returns
\Similaritybetween 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
stringThe opening html-tag to emphasize the searchword e.g.
''
$rep2
stringThe 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
mixedThe 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 |