From: Stanislav Malyshev Date: Thu, 26 Jan 2017 19:15:03 +0000 (-0800) Subject: Add content model indexing X-Git-Tag: 1.31.0-rc.0~4216^2 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=8de54f83499c18524a8ca4dd6742c00e3ebdce4a;p=lhc%2Fweb%2Fwiklou.git Add content model indexing Bug: T156371 Change-Id: I1514f9db70870ec05b30153cc56558af0a28b8c9 --- 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'] ); } /**