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

Reply via email to