Forums / Extensions / eZ Find / Deleting an object via the API and delayed indexing

Deleting an object via the API and delayed indexing

Author Message

Jim Thaxton

Wednesday 09 December 2009 11:11:59 am

Our site is setup with delayed indexing that is updated after an import runs each night. We have started to implement a feature to delete inactive objects throughout the day. The delete script runs the ->purge() and ->expireAllCache() methods on the object.

I assume this does not remove the object from the Solr search index. Would we need to run updatesearchindexsolr.php as a cron job after deletes to remove these objects? Is there an API call we can make to have the object removed from the Solr index on delete? The eZ Find extension classes do not have any delete methods as far as I can tell.

Web Developer
Coupon Cabin
Chicago, IL

Paul Borgermans

Saturday 12 December 2009 4:59:00 am

Yes, there is an API in eZ Find (or any search plugin):

Before you actually remove the objects from eZ Publish, use something like this:

$searchEngine = new eZSolr();
....
//loop over objets to delete
$searchEngine->removeObject( $contentObject, false );

And call a commit at the end:

$searchEngine->commit();

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Bertrand Dunogier

Saturday 12 December 2009 6:20:12 am

Running eZContentObject::expireAllCache() is unnecessary, and actually a bit dangerous ! It completely expires all content-cache and cache-blocks... I don't feel like it is what you need.

What you could do instead is use eZContentObjectTreeNode::removeSubtrees() with the $moveToTrash parameter set to false:

eZContentObjectTreNode::removeSubtrees( $nodeIDArray, $moveToTrash = false, $infoOnly = true );

It will take care of everything for you, including clearing appropriate caches and removing the object from the search engine index.

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

eZ debug

Timing: Jan 17 2025 23:49:17
Script start
Timing: Jan 17 2025 23:49:17
Module start 'content'
Timing: Jan 17 2025 23:49:18
Module end 'content'
Timing: Jan 17 2025 23:49:18
Script end

Main resources:

Total runtime0.6513 sec
Peak memory usage4,096.0000 KB
Database Queries198

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0049 587.9844180.7578
Module start 'content' 0.00490.5245 768.7422587.8125
Module end 'content' 0.52940.1218 1,356.5547332.7188
Script end 0.6512  1,689.2734 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00370.5628210.0002
Check MTime0.00130.2012210.0001
Mysql Total
Database connection0.00060.090310.0006
Mysqli_queries0.585389.87111980.0030
Looping result0.00210.32041960.0000
Template Total0.626796.220.3133
Template load0.00180.273920.0009
Template processing0.624995.948920.3124
Template load and register function0.00010.022110.0001
states
state_id_array0.00070.113610.0007
state_identifier_array0.00100.161220.0005
Override
Cache load0.00150.2318180.0001
Sytem overhead
Fetch class attribute can translate value0.00150.236240.0004
Fetch class attribute name0.00120.183350.0002
XML
Image XML parsing0.00140.212040.0003
class_abstraction
Instantiating content class attribute0.00000.002150.0000
General
dbfile0.00200.3068340.0001
String conversion0.00000.001230.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
3content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
5content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
3content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 15
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs