本文整理汇总了PHP中Doctrine_Table::searchLuceneWithScores方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine_Table::searchLuceneWithScores方法的具体用法?PHP Doctrine_Table::searchLuceneWithScores怎么用?PHP Doctrine_Table::searchLuceneWithScores使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine_Table
的用法示例。
在下文中一共展示了Doctrine_Table::searchLuceneWithScores方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addSearchQueryWithScores
public static function addSearchQueryWithScores(Doctrine_Table $table, Doctrine_Query $q = null, $luceneQuery, $culture, &$scores)
{
$name = $table->getOption('name');
if (is_null($q)) {
$q = Doctrine_Query::create()->from($name);
}
$scores = $table->searchLuceneWithScores($luceneQuery, $culture);
$results = array_keys($scores);
if (count($results)) {
$alias = $q->getRootAlias();
// Contrary to Jobeet the above is NOT enough, the results will
// not be in Lucene result order. Use aDoctrine::orderByList to fix
// that up in a portable way with a SQL92-compatible CASE statement.
// Call addSelect so that we don't trash existing queries.
$q->addSelect($alias . '.*');
aDoctrine::orderByList($q, $results);
$q->whereIn($alias . '.id', $results);
$q->orderBy('field');
} else {
// Don't just let everything through when there are no hits!
// Don't use just 'false', that is not guaranteed to be cross-database compatible.
$q->andWhere('0 = 1');
}
return $q;
}