Author: david
Date: Fri Feb 10 12:27:05 2012
New Revision: 10850
Log:
Add title and publication status
Modified:
trunk/lib/QubitSearchPdo.class.php
trunk/plugins/sfSearchPlugin/lib/task/xfPopulateTask.class.php
Modified: trunk/lib/QubitSearchPdo.class.php
==============================================================================
--- trunk/lib/QubitSearchPdo.class.php Fri Feb 10 12:15:25 2012 (r10849)
+++ trunk/lib/QubitSearchPdo.class.php Fri Feb 10 12:27:05 2012 (r10850)
@@ -110,19 +110,26 @@
$limit = 10000;
// Get info objects (with offset)
- $sql = 'SELECT io.*, i18n.*, slug.slug FROM
'.QubitInformationObject::TABLE_NAME.' io';
+ $sql = 'SELECT
+ io.*,
+ i18n.*,
+ slug.slug,
+ pubs.status_id as publication_status_id';
+ $sql .= ' FROM '.QubitInformationObject::TABLE_NAME.' io';
$sql .= ' JOIN '.QubitInformationObjectI18n::TABLE_NAME.' i18n';
$sql .= ' ON io.id = i18n.id';
$sql .= ' JOIN '.QubitSlug::TABLE_NAME.' slug';
$sql .= ' ON io.id = slug.object_id';
+ $sql .= ' JOIN '.QubitStatus::TABLE_NAME.' pubs';
+ $sql .= ' ON io.id = pubs.object_id';
+ $sql .= ' WHERE
+ pubs.type_id = :pub_status_type_id';
$sql .= ' ORDER BY io.lft';
$sql .= ' LIMIT '.$offset.', '.$limit;
$statement = $conn->prepare($sql);
- if (!$statement->execute())
- {
- throw new sfException('Select failed');
- }
+ $statement->execute(array(
+ ':pub_status_type_id' => QubitTerm::STATUS_TYPE_PUBLICATION_ID));
if ($i == 0 && 0 < $offset)
{
@@ -168,11 +175,11 @@
$doc->addField(Zend_Search_Lucene_Field::Keyword('parent',
$resource->parent->slug));
// Title
- // include an i18n fallback for proper search result display in case the
+ // Include an i18n fallback for proper search result display in case the
// title field was not translated
- if (0 < strlen($resource->title))))
+ if (0 < strlen($resource->title))
{
- $resource->title = getFallbackTitle($resource->id);
+ $resource->title = self::getFallbackTitle($resource->id);
}
// Boost the hit relevance for the title field
@@ -180,6 +187,9 @@
$titleField->boost = 10;
$doc->addField($titleField);
+ // Publication status
+ $doc->addField(Zend_Search_Lucene_Field::Text('publicationStatusId',
$resource->publication_status_id));
+
// Scope and content (stored for retrival in search results)
$doc->addField(Zend_Search_Lucene_Field::Text('scopeAndContent',
$resource->scope_and_content));
@@ -264,9 +274,6 @@
$doc->addField(Zend_Search_Lucene_Field::Keyword('hasDigitalObject',
'false'));
}
- // Publication status
- $doc->addField(Zend_Search_Lucene_Field::Text('publicationStatusId',
$resource->getPublicationStatus()->status->id));
-
$doc->addField(Zend_Search_Lucene_Field::Text('referenceCode',
$resource->referenceCode));
// Store dates as serialized array
@@ -383,15 +390,17 @@
protected static function getFallbackTitle($id)
{
+ $conn = Propel::getConnection();
+
// Get info objects (with offset)
$sql = 'SELECT i18n.title';
$sql .= ' FROM '.QubitInformationObject::TABLE_NAME.' node';
$sql .= ' JOIN '.QubitInformationObjectI18n::TABLE_NAME.' i18n';
$sql .= ' ON node.id = i18n.id';
- $sql .= ' WHERE id = ?';
+ $sql .= ' WHERE node.id = ?';
$statement = $conn->prepare($sql);
- $statement->execute(array($id)))
+ $statement->execute(array($id));
$result = $statement->fetch(PDO::FETCH_OBJ);
if (null != $result)
Modified: trunk/plugins/sfSearchPlugin/lib/task/xfPopulateTask.class.php
==============================================================================
--- trunk/plugins/sfSearchPlugin/lib/task/xfPopulateTask.class.php Fri Feb
10 12:15:25 2012 (r10849)
+++ trunk/plugins/sfSearchPlugin/lib/task/xfPopulateTask.class.php Fri Feb
10 12:27:05 2012 (r10850)
@@ -64,6 +64,6 @@
$index = new $index;
$index->setLogger(new xfLoggerTask($this->dispatcher, $this->formatter));
$index->qubitPopulate($options);
- $index->optimize();
+// $index->optimize();
}
}
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.