jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/334715 )
Change subject: Add contentmodel: query feature ...................................................................... Add contentmodel: query feature Bug: T156371 Change-Id: I54bb866b9d6f39042854c4a56574a4be423d368b --- M autoload.php A includes/Query/ContentModelFeature.php M includes/Searcher.php 3 files changed, 42 insertions(+), 0 deletions(-) Approvals: Cindy-the-browser-test-bot: Looks good to me, but someone else must approve EBernhardson: Looks good to me, approved jenkins-bot: Verified diff --git a/autoload.php b/autoload.php index 73ecdd4..cb56368 100644 --- a/autoload.php +++ b/autoload.php @@ -107,6 +107,7 @@ 'CirrusSearch\\PhraseSuggesterProfiles' => __DIR__ . '/profiles/PhraseSuggesterProfiles.php', 'CirrusSearch\\Query\\BaseSimpleKeywordFeatureTest' => __DIR__ . '/tests/unit/Query/BaseSimpleKeywordFeatureTest.php', 'CirrusSearch\\Query\\BoostTemplatesFeature' => __DIR__ . '/includes/Query/BoostTemplatesFeature.php', + 'CirrusSearch\\Query\\ContentModelFeature' => __DIR__ . '/includes/Query/ContentModelFeature.php', 'CirrusSearch\\Query\\FileNumericFeature' => __DIR__ . '/includes/Query/FileNumericFeature.php', 'CirrusSearch\\Query\\FileTypeFeature' => __DIR__ . '/includes/Query/FileTypeFeature.php', 'CirrusSearch\\Query\\FullTextQueryBuilder' => __DIR__ . '/includes/Query/FullTextQueryBuilder.php', diff --git a/includes/Query/ContentModelFeature.php b/includes/Query/ContentModelFeature.php new file mode 100644 index 0000000..3f3fb9f --- /dev/null +++ b/includes/Query/ContentModelFeature.php @@ -0,0 +1,39 @@ +<?php + +namespace CirrusSearch\Query; + +use CirrusSearch\Search\SearchContext; +use \Elastica\Query; + +/** + * Content model feature: + * contentmodel:wikitext + * Selects only articles having this content model. + */ +class ContentModelFeature extends SimpleKeywordFeature { + /** + * @return string[] + */ + protected function getKeywords() { + return ['contentmodel']; + } + + /** + * @param SearchContext $context + * @param string $key The keyword + * @param string $value The value attached to the keyword with quotes stripped + * @param string $quotedValue The original value in the search string, including quotes + * if used + * @param bool $negated Is the search negated? Not used to generate the returned + * AbstractQuery, that will be negated as necessary. Used for any other building/context + * necessary. + * @return array Two element array, first an AbstractQuery or null to apply to the + * query. Second a boolean indicating if the quotedValue should be kept in the search + * string. + */ + protected function doApply( SearchContext $context, $key, $value, $quotedValue, $negated ) { + $query = new Query\Match( 'content_model', [ 'query' => $value ] ); + + return [ $query, false ]; + } +} diff --git a/includes/Searcher.php b/includes/Searcher.php index 272fd83..2348a5c 100644 --- a/includes/Searcher.php +++ b/includes/Searcher.php @@ -335,6 +335,8 @@ new Query\FileTypeFeature(), // File numeric characteristics - size, resolution, etc. new Query\FileNumericFeature(), + // Content model feature + new Query\ContentModelFeature(), ]; $extraFeatures = []; -- To view, visit https://gerrit.wikimedia.org/r/334715 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I54bb866b9d6f39042854c4a56574a4be423d368b Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/CirrusSearch Gerrit-Branch: master Gerrit-Owner: Smalyshev <smalys...@wikimedia.org> 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: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: Tjones <tjo...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits