Author: sevein
Date: Thu May 3 16:15:06 2012
New Revision: 11617
Log:
Add created_at and updated_at fields in ES for QubitObject(s)
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/QubitMapping.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitActorMapping.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoActor.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitRepositoryMapping.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitTermMapping.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/qtElasticSearchPlugin.class.php
Modified: branches/2.0/plugins/qtElasticSearchPlugin/lib/QubitMapping.class.php
==============================================================================
--- branches/2.0/plugins/qtElasticSearchPlugin/lib/QubitMapping.class.php
Thu May 3 15:49:09 2012 (r11616)
+++ branches/2.0/plugins/qtElasticSearchPlugin/lib/QubitMapping.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -44,6 +44,16 @@
'include_in_all' => false))));
}
+ public static function getTimestampProperties()
+ {
+ return array(
+ 'createdAt' => array(
+ 'type' => 'date'
+ ),
+ 'updatedAt' => array(
+ 'type' => 'date'));
+ }
+
public static function getI18nFields($class)
{
// use reflection on i18n object to get property list from class constants
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitActorMapping.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitActorMapping.class.php
Thu May 3 15:49:09 2012 (r11616)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitActorMapping.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -37,36 +37,7 @@
'type' => 'integer',
'index' => 'not_analyzed',
'include_in_all' => false))
- + self::getI18nProperties();
- }
-
- static function serialize($object)
- {
- $serialized = array();
-
- $serialized['slug'] = $object->slug;
- $serialized['entityTypeId'] = $object->entityTypeId;
-
-
-/*
- // TODO: Add other forms of name
- foreach ($object->otherNames as $otherName)
- {
- $otherNameI18ns = array();
-
- foreach ($objectI18ns as $culture => $objectI18n)
- {
- $otherNameI18ns[] = array('name' =>
$otherName->getName(array('culture' => $culture)), 'culture' => $culture);
- }
-
- $serialized['otherNames'][] = array('id' => $otherName->id, 'i18n' =>
$otherNameI18ns);
- }
-*/
-
- $serialized['sourceCulture'] = $object->sourceCulture;
- $objectI18ns = $object->actorI18ns->indexBy('culture');
- $serialized['i18n'] = self::serializeI18ns($object, $objectI18ns);
-
- return $serialized;
+ + self::getI18nProperties()
+ + self::getTimestampProperties();
}
}
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoActor.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoActor.class.php
Thu May 3 15:49:09 2012 (r11616)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoActor.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -98,10 +98,14 @@
{
$sql = 'SELECT
actor.*,
- slug.slug
+ slug.slug,
+ object.created_at,
+ object.updated_at
FROM '.QubitActor::TABLE_NAME.' actor
JOIN '.QubitSlug::TABLE_NAME.' slug
ON actor.id = slug.object_id
+ JOIN '.QubitObject::TABLE_NAME.' object
+ ON actor.id = object.id
WHERE actor.id = :id';
self::$statements['actor'] = self::$conn->prepare($sql);
@@ -175,6 +179,9 @@
$serialized['sourceCulture'] = $this->source_culture;
$serialized['i18n'] = $i18ns;
+ $serialized['createdAt'] = Elastica_Util::convertDate($this->created_at);
+ $serialized['updatedAt'] = Elastica_Util::convertDate($this->updated_at);
+
return $serialized;
}
}
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
Thu May 3 15:49:09 2012 (r11616)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -101,10 +101,14 @@
slug.slug,
pubstat.status_id as publication_status_id,
do.id as digital_object_id,
- do.media_type_id as media_type_id
+ do.media_type_id as media_type_id,
+ object.created_at,
+ object.updated_at
FROM '.QubitInformationObject::TABLE_NAME.' io
JOIN '.QubitSlug::TABLE_NAME.' slug
ON io.id = slug.object_id
+ JOIN '.QubitObject::TABLE_NAME.' object
+ ON io.id = object.id
JOIN '.QubitStatus::TABLE_NAME.' pubstat
ON io.id = pubstat.object_id
LEFT JOIN '.QubitDigitalObject::TABLE_NAME.' do
@@ -861,6 +865,9 @@
$serialized['sourceCulture'] = $this->source_culture;
$serialized['i18n'] = $i18ns;
+ $serialized['createdAt'] = Elastica_Util::convertDate($this->created_at);
+ $serialized['updatedAt'] = Elastica_Util::convertDate($this->updated_at);
+
return $serialized;
}
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitRepositoryMapping.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitRepositoryMapping.class.php
Thu May 3 15:49:09 2012 (r11616)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitRepositoryMapping.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -43,7 +43,8 @@
'contact' => array(
'type' => 'object',
'properties' => QubitContactInformationMapping::getProperties()))
- + self::getI18nProperties();
+ + self::getI18nProperties()
+ + self::getTimestampProperties();
}
static function serialize($object)
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitTermMapping.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitTermMapping.class.php
Thu May 3 15:49:09 2012 (r11616)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitTermMapping.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -37,7 +37,8 @@
'type' => 'integer',
'index' => 'not_analyzed',
'include_in_all' => false))
- + self::getI18nProperties();
+ + self::getI18nProperties()
+ + self::getTimestampProperties();
}
static function serialize($object)
@@ -50,6 +51,9 @@
$objectI18ns = $object->termI18ns->indexBy('culture');
$serialized['i18n'] = self::serializeI18ns($object, $objectI18ns);
+ $serialized['createdAt'] = Elastica_Util::convertDate($object->createdAt);
+ $serialized['updatedAt'] = Elastica_Util::convertDate($object->updatedAt);
+
return $serialized;
}
}
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/qtElasticSearchPlugin.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/qtElasticSearchPlugin.class.php
Thu May 3 15:49:09 2012 (r11616)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/qtElasticSearchPlugin.class.php
Thu May 3 16:15:06 2012 (r11617)
@@ -246,14 +246,6 @@
$total = $total + $this->addTerms($options);
}
- // information objects
- if (!in_array('ios', $skips))
- {
- self::$counter = 0;
- $this->logger->log('Indexing Information Objects...', 'qtElasticSearch');
- $total = $total + $this->populateInformationObjects($options);
- }
-
// actors
if (!in_array('actors', $skips))
{
@@ -262,6 +254,14 @@
$total = $total + $this->addActors($options);
}
+ // information objects
+ if (!in_array('ios', $skips))
+ {
+ self::$counter = 0;
+ $this->logger->log('Indexing Information Objects...', 'qtElasticSearch');
+ $total = $total + $this->populateInformationObjects($options);
+ }
+
// if there are still documents in the batch queue, send them
if ($this->batchMode && count($this->batchDocs) > 0)
{
@@ -392,14 +392,15 @@
self::$conn = Propel::getConnection();
}
- $sql = 'SELECT
- term.id';
+ $sql = 'SELECT term.id';
$sql .= ' FROM '.QubitTerm::TABLE_NAME.' term';
+ $sql .= ' JOIN '.QubitObject::TABLE_NAME.' object ON (term.id =
object.id)';
$sql .= ' WHERE term.taxonomy_id IN (:subject, :place)';
$sql .= ' AND term.id != '.QubitTerm::ROOT_ID;
- $terms = QubitPdo::fetchAll($sql, array(':subject' =>
QubitTaxonomy::SUBJECT_ID,
- ':place' =>
QubitTaxonomy::PLACE_ID));
+ $terms = QubitPdo::fetchAll($sql, array(
+ ':subject' => QubitTaxonomy::SUBJECT_ID,
+ ':place' => QubitTaxonomy::PLACE_ID));
$numRows = count($terms);
// Loop through results, and add to search index
--
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.