Manybubbles has uploaded a new change for review.
https://gerrit.wikimedia.org/r/159175
Change subject: Allow overriding size of the phrase slop window
......................................................................
Allow overriding size of the phrase slop window
This will be useful for performance testing (try 0) and for seeing if we
get better results (try >1, the default).
Change-Id: I822c37df3ad10e07abfefb66901fc5a20693ab91
---
M includes/Hooks.php
1 file changed, 31 insertions(+), 31 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch
refs/changes/75/159175/1
diff --git a/includes/Hooks.php b/includes/Hooks.php
index 7f5077e..1173739 100644
--- a/includes/Hooks.php
+++ b/includes/Hooks.php
@@ -79,7 +79,8 @@
$wgCirrusSearchFunctionRescoreWindowSize,
$wgCirrusSearchFragmentSize,
$wgCirrusSearchBoostLinks,
- $wgCirrusSearchAllFields;
+ $wgCirrusSearchAllFields,
+ $wgCirrusSearchPhraseSlop;
// If the user has the BetaFeature enabled, use Cirrus as
default.
if ( $wgCirrusSearchEnablePref && $user->isLoggedIn() &&
class_exists( 'BetaFeatures' )
@@ -103,36 +104,35 @@
$request->getVal( 'cirrusHighlighter' )
=== 'experimental' ) {
$wgCirrusSearchUseExperimentalHighlighter =
true;
}
- $phraseRescoreWindowOverride = $request->getVal(
'cirrusPhraseWindow' );
- if ( $phraseRescoreWindowOverride !== null &&
is_numeric( $phraseRescoreWindowOverride ) &&
- $phraseRescoreWindowOverride < 10000 ) {
- $wgCirrusSearchPhraseRescoreWindowSize =
$phraseRescoreWindowOverride;
- }
- $functionRescoreWindowOverride = $request->getVal(
'cirrusFunctionWindow' );
- if ( $functionRescoreWindowOverride !== null &&
is_numeric( $functionRescoreWindowOverride &&
- $functionRescoreWindowOverride < 10000
) ) {
- $wgCirrusSearchFunctionRescoreWindowSize =
$functionRescoreWindowOverride;
- }
- $fragmentSizeOverride = $request->getVal(
'cirrusFragmentSize' );
- if ( $fragmentSizeOverride !== null && is_numeric(
$fragmentSizeOverride ) &&
- $fragmentSizeOverride < 1000 ) {
- $wgCirrusSearchFragmentSize =
$fragmentSizeOverride;
- }
- $boostLinks = $request->getVal( 'cirrusBoostLinks' );
- if ( $boostLinks !== null ) {
- if ( $boostLinks === 'yes' ) {
- $wgCirrusSearchBoostLinks = true;
- } elseif ( $boostLinks === 'no' ) {
- $wgCirrusSearchBoostLinks = false;
- }
- }
- $useAllFields = $request->getVal( 'cirrusUseAllFields'
);
- if ( $useAllFields !== null ) {
- if ( $useAllFields === 'yes' ) {
- $wgCirrusSearchAllFields[ 'use' ] =
true;
- } elseif( $useAllFields = 'no' ) {
- $wgCirrusSearchAllFields[ 'use' ] =
false;
- }
+ self::overrideNumeric(
$wgCirrusSearchPhraseRescoreWindowSize, $request, 'cirrusPhraseWinwdow', 10000
);
+ self::overrideNumeric( $wgCirrusSearchPhraseSlop[
'boost' ], $request, 'cirrusPhraseSlop', 10 );
+ self::overrideNumeric(
$wgCirrusSearchFunctionRescoreWindowSize, $request, 'cirrusFunctionWindow',
10000 );
+ self::overrideNumeric( $wgCirrusSearchFragmentSize,
$request, 'cirrusFragmentSize', 1000 );
+ self::overrideYesNo( $wgCirrusSearchBoostLinks,
$request, 'cirrusBoostLinks' );
+ self::overrideYesNo( $wgCirrusSearchAllFields[ 'use' ],
$request, 'cirrusUseAllFields' );
+ }
+ }
+
+ /**
+ * Set $dest to the numeric value from $request->getVal( $name ) if it
is <= $limit.
+ */
+ private static function overrideNumeric( &$dest, $request, $name,
$limit ) {
+ $val = $request->getVal( $name );
+ if ( $val !== null && is_numeric( $val ) && $val <= $limit ) {
+ $dest = $val;
+ }
+ }
+
+ /**
+ * Set $dest to the true/false from $request->getVal( $name ) if yes/no.
+ */
+ private static function overrideYesNo( &$dest, $request, $name ) {
+ $val = $request->getVal( 'cirrusUseAllFields' );
+ if ( $val !== null ) {
+ if ( $val === 'yes' ) {
+ $dest = true;
+ } elseif( $val = 'no' ) {
+ $dest = false;
}
}
}
--
To view, visit https://gerrit.wikimedia.org/r/159175
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I822c37df3ad10e07abfefb66901fc5a20693ab91
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: Manybubbles <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits