From 8de54f83499c18524a8ca4dd6742c00e3ebdce4a Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Thu, 26 Jan 2017 11:15:03 -0800 Subject: [PATCH] Add content model indexing Bug: T156371 Change-Id: I1514f9db70870ec05b30153cc56558af0a28b8c9 --- includes/content/ContentHandler.php | 8 ++++++-- tests/phpunit/includes/content/ContentHandlerTest.php | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/includes/content/ContentHandler.php b/includes/content/ContentHandler.php index 5862bf1156..119144a550 100644 --- a/includes/content/ContentHandler.php +++ b/includes/content/ContentHandler.php @@ -1104,7 +1104,6 @@ abstract class ContentHandler { 'category', SearchIndexField::INDEX_TYPE_TEXT ); - $fields['category']->setFlag( SearchIndexField::FLAG_CASEFOLD ); $fields['external_link'] = $engine->makeSearchFieldMapping( @@ -1121,9 +1120,13 @@ abstract class ContentHandler { 'template', SearchIndexField::INDEX_TYPE_KEYWORD ); - $fields['template']->setFlag( SearchIndexField::FLAG_CASEFOLD ); + $fields['content_model'] = $engine->makeSearchFieldMapping( + 'content_model', + SearchIndexField::INDEX_TYPE_KEYWORD + ); + return $fields; } @@ -1170,6 +1173,7 @@ abstract class ContentHandler { $fieldData['text'] = $text; $fieldData['source_text'] = $text; $fieldData['text_bytes'] = $content->getSize(); + $fieldData['content_model'] = $content->getModel(); } Hooks::run( 'SearchDataForIndex', [ &$fieldData, $this, $page, $output, $engine ] ); diff --git a/tests/phpunit/includes/content/ContentHandlerTest.php b/tests/phpunit/includes/content/ContentHandlerTest.php index 91d2297d8a..efd60e5fb8 100644 --- a/tests/phpunit/includes/content/ContentHandlerTest.php +++ b/tests/phpunit/includes/content/ContentHandlerTest.php @@ -409,6 +409,7 @@ class ContentHandlerTest extends MediaWikiTestCase { $this->assertArrayHasKey( 'external_link', $fields ); $this->assertArrayHasKey( 'outgoing_link', $fields ); $this->assertArrayHasKey( 'template', $fields ); + $this->assertArrayHasKey( 'content_model', $fields ); } private function newSearchEngine() { @@ -445,6 +446,7 @@ class ContentHandlerTest extends MediaWikiTestCase { $this->assertArrayHasKey( 'language', $data ); $this->assertArrayHasKey( 'testDataField', $data ); $this->assertEquals( 'test content', $data['testDataField'] ); + $this->assertEquals( 'wikitext', $data['content_model'] ); } /** -- 2.20.1