[MediaWiki-commits] [Gerrit] CirrusSearch: Add new rescore profiles - change (operations/mediawiki-config)

2016-04-02 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/281209

Change subject: CirrusSearch: Add new rescore profiles
..

CirrusSearch: Add new rescore profiles

Change-Id: I0f449b2064ec0acccd7ce4d10404173bad2a62cc
---
M tests/cirrusTest.php
M wmf-config/CirrusSearch-common.php
2 files changed, 245 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/09/281209/1

diff --git a/tests/cirrusTest.php b/tests/cirrusTest.php
index 87e3763..990dbb2 100644
--- a/tests/cirrusTest.php
+++ b/tests/cirrusTest.php
@@ -111,6 +111,8 @@
);
$wmfDatacenter = 'unittest';
$wgCirrusSearchPoolCounterKey = 
'unittest:poolcounter:blahblahblah';
+   $wgCirrusSearchRescoreProfiles = array( 'default' => array() );
+   $wgCirrusSearchRescoreFunctionScoreChains = array();
 
require "{$wmfConfigDir}/CirrusSearch-common.php";
 
diff --git a/wmf-config/CirrusSearch-common.php 
b/wmf-config/CirrusSearch-common.php
index b7ff669..1c51f5e 100644
--- a/wmf-config/CirrusSearch-common.php
+++ b/wmf-config/CirrusSearch-common.php
@@ -1,4 +1,6 @@
  array(
+'supported_namespaces' => 'content',
+'fallback_profile' => 'default',
+'rescore' => array(
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'geomean_log',
+'query_weight' => 1.0,
+'rescore_query_weight' => 1.0,
+'score_mode' => 'multiply',
+),
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'optional_chain',
+'score_mode' => 'multiply',
+),
+),
+),
+'geomean_satu' => array(
+'supported_namespaces' => 'content',
+'fallback_profile' => 'default',
+'rescore' => array(
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'geomean_satu',
+'query_weight' => 1.0,
+'rescore_query_weight' => 1.0,
+'score_mode' => 'multiply',
+),
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'optional_chain',
+'score_mode' => 'multiply',
+),
+),
+),
+);
+
+
+$wgCirrusSearchRescoreFunctionScoreChains += array(
+   // GeoMean with logscale_boost
+   'geomean_log' => array(
+   'functions' => array(
+   array(
+   'type' => 'geomean',
+   'params' => array(
+   'impact' => array(
+   'uri_param_override' => 
'cirrusGeoMeanLogImpact',
+   'config_override' => 
'CirrusSearchGeoMeanLogImpact',
+   'value' => 1,
+   ),
+   'members' => array(
+   array(
+   'weight' => array(
+   
'uri_param_override' => 'cirrusBoostLinksWeight',
+   
'config_override' => 'CirrusSearchBoostLinksWeight',
+   'value' => 1,
+   ),
+   'type' => 
'logscale_boost',
+   'params' => array(
+   'field' => 
'incoming_links',
+   'scale' => 
array(
+   'value' 
=> 50,
+   
'uri_param_override' => 'cirrusBoostLinksScale',
+   
'config_override' => 'CirrusSearchBoostLinksScale',
+   ),
+   

[MediaWiki-commits] [Gerrit] CirrusSearch: Add new rescore profiles - change (operations/mediawiki-config)

2016-04-02 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: CirrusSearch: Add new rescore profiles
..


CirrusSearch: Add new rescore profiles

In order to run optimization plans we need these rescore profiles enabled in
production.
This should be a temporary solution, we will run various optimization with
large samples to evaluate if any of these new functions are worth the effort.
These profiles are also suited for A/B tests: all the values can be overridden
by a request param.

I'm not sure that wmf-config is the best place to store these profiles. They
are particularly verbose and will certainly require fine-tuning per wiki. I
wonder if a datastore (RESTBase?) might be more appropriate, this would allow
us to do live optimizations without deploying anything...

NOTE: depends on 1.27.0-wmf.19

Bug: T127896
Change-Id: I17aab1177662a5dad2c513ad1b406f3fd155ecc4
---
M tests/cirrusTest.php
M wmf-config/CirrusSearch-common.php
2 files changed, 245 insertions(+), 0 deletions(-)

Approvals:
  EBernhardson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/cirrusTest.php b/tests/cirrusTest.php
index 87e3763..990dbb2 100644
--- a/tests/cirrusTest.php
+++ b/tests/cirrusTest.php
@@ -111,6 +111,8 @@
);
$wmfDatacenter = 'unittest';
$wgCirrusSearchPoolCounterKey = 
'unittest:poolcounter:blahblahblah';
+   $wgCirrusSearchRescoreProfiles = array( 'default' => array() );
+   $wgCirrusSearchRescoreFunctionScoreChains = array();
 
require "{$wmfConfigDir}/CirrusSearch-common.php";
 
diff --git a/wmf-config/CirrusSearch-common.php 
b/wmf-config/CirrusSearch-common.php
index b7ff669..1c51f5e 100644
--- a/wmf-config/CirrusSearch-common.php
+++ b/wmf-config/CirrusSearch-common.php
@@ -1,4 +1,6 @@
  array(
+'supported_namespaces' => 'content',
+'fallback_profile' => 'default',
+'rescore' => array(
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'geomean_log',
+'query_weight' => 1.0,
+'rescore_query_weight' => 1.0,
+'score_mode' => 'multiply',
+),
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'optional_chain',
+'score_mode' => 'multiply',
+),
+),
+),
+'geomean_satu' => array(
+'supported_namespaces' => 'content',
+'fallback_profile' => 'default',
+'rescore' => array(
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'geomean_satu',
+'query_weight' => 1.0,
+'rescore_query_weight' => 1.0,
+'score_mode' => 'multiply',
+),
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'optional_chain',
+'score_mode' => 'multiply',
+),
+),
+),
+);
+
+
+$wgCirrusSearchRescoreFunctionScoreChains += array(
+   // GeoMean with logscale_boost
+   'geomean_log' => array(
+   'functions' => array(
+   array(
+   'type' => 'geomean',
+   'params' => array(
+   'impact' => array(
+   'uri_param_override' => 
'cirrusGeoMeanLogImpact',
+   'config_override' => 
'CirrusSearchGeoMeanLogImpact',
+   'value' => 1,
+   ),
+   'members' => array(
+   array(
+   'weight' => array(
+   
'uri_param_override' => 'cirrusBoostLinksWeight',
+   
'config_override' => 'CirrusSearchBoostLinksWeight',
+   'value' => 1,
+   ),
+   'type' => 
'logscale_boost',
+   'params' => array(
+  

[MediaWiki-commits] [Gerrit] CirrusSearch: Add new rescore profiles - change (operations/mediawiki-config)

2016-03-30 Thread DCausse (Code Review)
DCausse has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/280245

Change subject: CirrusSearch: Add new rescore profiles
..

CirrusSearch: Add new rescore profiles

In order to run optimization plans we need these rescore profiles enabled in
production.
This should be a temporary solution, we will run various optimization with
large samples to evaluate if any of these new functions are worth the effort.
These profiles are also suited for A/B tests: all the values can be overridden
by a request param.

I'm note sure that wmf-config is the best place to store these profiles. They
are particularly verbose and will certainly require fine-tuning per wiki. I
wonder if a datastore (RESTBase?) might be more appropriate, this would allow
us to do live optimizations without deploying anything...

NOTE: depends on 1.27.0-wmf.19

Bug: T127896
Change-Id: I17aab1177662a5dad2c513ad1b406f3fd155ecc4
---
M wmf-config/CirrusSearch-common.php
1 file changed, 243 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/45/280245/1

diff --git a/wmf-config/CirrusSearch-common.php 
b/wmf-config/CirrusSearch-common.php
index b7ff669..1c51f5e 100644
--- a/wmf-config/CirrusSearch-common.php
+++ b/wmf-config/CirrusSearch-common.php
@@ -1,4 +1,6 @@
  array(
+'supported_namespaces' => 'content',
+'fallback_profile' => 'default',
+'rescore' => array(
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'geomean_log',
+'query_weight' => 1.0,
+'rescore_query_weight' => 1.0,
+'score_mode' => 'multiply',
+),
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'optional_chain',
+'score_mode' => 'multiply',
+),
+),
+),
+'geomean_satu' => array(
+'supported_namespaces' => 'content',
+'fallback_profile' => 'default',
+'rescore' => array(
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'geomean_satu',
+'query_weight' => 1.0,
+'rescore_query_weight' => 1.0,
+'score_mode' => 'multiply',
+),
+array(
+'window' => 8192,
+'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+'type' => 'function_score',
+'function_chain' => 'optional_chain',
+'score_mode' => 'multiply',
+),
+),
+),
+);
+
+
+$wgCirrusSearchRescoreFunctionScoreChains += array(
+   // GeoMean with logscale_boost
+   'geomean_log' => array(
+   'functions' => array(
+   array(
+   'type' => 'geomean',
+   'params' => array(
+   'impact' => array(
+   'uri_param_override' => 
'cirrusGeoMeanLogImpact',
+   'config_override' => 
'CirrusSearchGeoMeanLogImpact',
+   'value' => 1,
+   ),
+   'members' => array(
+   array(
+   'weight' => array(
+   
'uri_param_override' => 'cirrusBoostLinksWeight',
+   
'config_override' => 'CirrusSearchBoostLinksWeight',
+   'value' => 1,
+   ),
+   'type' => 
'logscale_boost',
+   'params' => array(
+   'field' => 
'incoming_links',
+   'scale' => 
array(
+   'value' 
=> 50,
+   
'uri_param_override' => 'cirrusBoostLinksScale',
+   
'config_override' => 'CirrusSearchBoostLinksScale',
+