jenkins-bot has submitted this change and it was merged. Change subject: Make content handler produce field data ......................................................................
Make content handler produce field data Change-Id: I621704e4edafdf39a028d7c8a06cb1829b3a7cb6 Bug: T89733 --- M includes/Updater.php 1 file changed, 15 insertions(+), 19 deletions(-) Approvals: Cindy-the-browser-test-bot: Looks good to me, but someone else must approve DCausse: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/Updater.php b/includes/Updater.php index 06d2856..940ede9 100644 --- a/includes/Updater.php +++ b/includes/Updater.php @@ -277,6 +277,7 @@ $fullDocument = !( $skipParse || $skipLinks ); $documents = array(); + $engine = new \CirrusSearch(); foreach ( $pages as $page ) { $title = $page->getTitle(); if ( !$page->exists() ) { @@ -309,28 +310,23 @@ $doc->setRetryOnConflict( $wgCirrusSearchUpdateConflictRetryCount ); if ( !$skipParse ) { - // Get text to index, based on content and parser output - list( $content, $parserOutput ) = $this->getContentAndParserOutput( - $page, - $forceParse - ); + $contentHandler = $page->getContentHandler(); + $output = $contentHandler->getParserOutputForIndexing( $page, + $forceParse ? null : ParserCache::singleton() ); - // Build our page data - $pageBuilder = new PageDataBuilder( $doc, $title, $content, $parserOutput ); - $doc = $pageBuilder->build(); - - // And build the page text itself - $textBuilder = new PageTextBuilder( $doc, $content, $parserOutput ); - $doc = $textBuilder->build(); - - // If we're a file, build its metadata too - if ( $title->getNamespace() === NS_FILE ) { - $fileBuilder = new FileDataBuilder( $doc, $title ); - $doc = $fileBuilder->build(); + foreach ( $contentHandler->getDataForSearchIndex( $page, $output, $engine ) as + $field => $fieldData ) { + $doc->set( $field, $fieldData ); } // Then let hooks have a go - MWHooks::run( 'CirrusSearchBuildDocumentParse', array( $doc, $title, $content, $parserOutput, $this->connection ) ); + MWHooks::run( 'CirrusSearchBuildDocumentParse', [ + $doc, + $title, + $page->getContent(), + $output, + $this->connection + ] ); } if ( !$skipLinks ) { @@ -348,7 +344,7 @@ /** * Converts a document into a call to super_detect_noop from the wikimedia-extra plugin. * @param \Elastica\Document $doc - * @return \Elastica\Script + * @return \Elastica\Script\Script */ private function docToSuperDetectNoopScript( $doc ) { $params = $doc->getParams(); -- To view, visit https://gerrit.wikimedia.org/r/289115 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I621704e4edafdf39a028d7c8a06cb1829b3a7cb6 Gerrit-PatchSet: 18 Gerrit-Project: mediawiki/extensions/CirrusSearch Gerrit-Branch: master Gerrit-Owner: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: Aude <aude.w...@gmail.com> Gerrit-Reviewer: Cindy-the-browser-test-bot <bernhardsone...@gmail.com> Gerrit-Reviewer: DCausse <dcau...@wikimedia.org> Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de> Gerrit-Reviewer: EBernhardson <ebernhard...@wikimedia.org> Gerrit-Reviewer: Gehel <gleder...@wikimedia.org> Gerrit-Reviewer: Manybubbles <never...@wikimedia.org> Gerrit-Reviewer: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits