本文整理汇总了PHP中Zend_Search_Lucene_Search_Similarity::setDefault方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Search_Lucene_Search_Similarity::setDefault方法的具体用法?PHP Zend_Search_Lucene_Search_Similarity::setDefault怎么用?PHP Zend_Search_Lucene_Search_Similarity::setDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Search_Lucene_Search_Similarity
的用法示例。
在下文中一共展示了Zend_Search_Lucene_Search_Similarity::setDefault方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: find
/**
* Wrapper for Lucene's find()
* @param mixed $query The query
* @return array The array of results
*/
public function find($query)
{
$this->configure();
$timer = sfTimerManager::getTimer('Zend Search Lucene Find');
$sort = array();
$scoring = null;
if ($query instanceof sfLuceneCriteria) {
foreach ($query->getSorts() as $sortable) {
$sort[] = $sortable['field'];
$sort[] = $sortable['type'];
$sort[] = $sortable['order'];
}
$scoring = $query->getScoringAlgorithm();
$query = $query->getQuery();
} elseif (is_string($query)) {
$query = sfLuceneCriteria::newInstance($this)->addString($query)->getQuery();
}
$defaultScoring = Zend_Search_Lucene_Search_Similarity::getDefault();
if ($scoring) {
Zend_Search_Lucene_Search_Similarity::setDefault($scoring);
}
try {
// as we rarely sort, we can avoid the overhead of call_user_func() with this conditional
if (count($sort)) {
$args = array_merge(array($query), $sort);
$results = call_user_func_array(array($this->getLucene(), 'find'), $args);
} else {
$results = $this->getLucene()->find($query);
}
} catch (Exception $e) {
Zend_Search_Lucene_Search_Similarity::setDefault($defaultScoring);
$timer->addTime();
throw $e;
}
Zend_Search_Lucene_Search_Similarity::setDefault($defaultScoring);
$timer->addTime();
return $results;
}