DCausse has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/333588 )

Change subject: Add a workaround for query_string max_determinized_states
......................................................................

Add a workaround for query_string max_determinized_states

This option has been incorrectly renamed to max_determined_states
in elastic 5.0.0. Added $wgCirrusSearchElasticQuirks to allow setting
up various workarounds.
This specific workaround can be activated by setting
'query_string_max_determinized_states' to true

Change-Id: I3ba598165555ee70e30e365a1443816290d1c096
---
M CirrusSearch.php
M docs/settings.txt
M includes/Query/FullTextQueryStringQueryBuilder.php
3 files changed, 24 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch 
refs/changes/88/333588/1

diff --git a/CirrusSearch.php b/CirrusSearch.php
index 5adfe9f..f3aafb3 100644
--- a/CirrusSearch.php
+++ b/CirrusSearch.php
@@ -1041,6 +1041,12 @@
  */
 $wgCirrusSearchFiletypeAliases = [];
 
+/**
+ * Var to activate some workarounds about specific
+ * bugs/quirks found in elasticsearch.
+ */
+$wgCirrusSearchElasticQuirks = [];
+
 $includes = __DIR__ . "/includes/";
 $apiDir = $includes . 'Api/';
 $buildDocument = $includes . 'BuildDocument/';
diff --git a/docs/settings.txt b/docs/settings.txt
index 105baab..7e7ead9 100644
--- a/docs/settings.txt
+++ b/docs/settings.txt
@@ -1390,6 +1390,18 @@
         'document' => 'office',
     ];
 
+; $wgCirrusSearchElasticQuirks
+
+Default:
+  $wgCirrusSearchElasticQuirks = [];
+
+Workarounds:
+- from elastic 5.0.0 to 5.1.2 the max_determinized_states option in 
query_string
+  has been incorrectly renamed to max_determined_states (see
+  https://github.com/elastic/elasticsearch/issues/22722). Add the following key
+  to enable this workaround if you are running such version:
+  'query_string_max_determinized_states' => true
+
 ; $wgCirrusSearchFieldTypes
 
 Default:
diff --git a/includes/Query/FullTextQueryStringQueryBuilder.php 
b/includes/Query/FullTextQueryStringQueryBuilder.php
index 2374fca..e6cfda4 100644
--- a/includes/Query/FullTextQueryStringQueryBuilder.php
+++ b/includes/Query/FullTextQueryStringQueryBuilder.php
@@ -411,8 +411,13 @@
                $query->setFuzzyPrefixLength( 2 );
                $query->setRewrite( $this->getMultiTermRewriteMethod() );
                $states = $this->config->get( 
'CirrusSearchQueryStringMaxDeterminizedStates' );
+               $option = 'max_determinized_states';
+               // Workround 
https://github.com/elastic/elasticsearch/issues/22722
+               if ( $this->config->getElement( 'CirrusSearchElasticQuirks', 
'query_string_max_determinized_states' ) === true ) {
+                       $option = 'max_determined_states';
+               }
                if ( isset( $states ) ) {
-                       $query->setParam( 'max_determinized_states', $states );
+                       $query->setParam( $option, $states );
                }
                return $query;
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/333588
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ba598165555ee70e30e365a1443816290d1c096
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: es5
Gerrit-Owner: DCausse <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to