DCausse has uploaded a new change for review.

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

Change subject: WIP: Add support for maxDeterminizedStates in QueryString
......................................................................

WIP: Add support for maxDeterminizedStates in QueryString

WIP because it requires ES 1.4+ to work.

Bug: T102589
Change-Id: Ic49c5c4248e665555fc3f79efba8600f5e9bb881
---
M CirrusSearch.php
M includes/Searcher.php
2 files changed, 13 insertions(+), 0 deletions(-)


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

diff --git a/CirrusSearch.php b/CirrusSearch.php
index 2c20a0b..352f78c 100644
--- a/CirrusSearch.php
+++ b/CirrusSearch.php
@@ -115,6 +115,11 @@
 // default allows reasonably complex regexes and doesn't use _too_ much memory.
 $wgCirrusSearchRegexMaxDeterminizedStates = 20000;
 
+// Maximum complexity of wildcard queries. Raising this value will allow
+// more wildcards in search terms. Defaults will allow about 20 wildcards.
+// This settings requires ES 1.4+. Comment to disable.
+// $wgCirrusSearchQueryStringMaxDeterminizedStates = 500;
+
 // By default, Cirrus will organize pages into one of two indexes (general or
 // content) based on whether a page is in a content namespace. This should
 // suffice for most wikis. This setting allows individual namespaces to be
diff --git a/includes/Searcher.php b/includes/Searcher.php
index 872367d..9cd5942 100644
--- a/includes/Searcher.php
+++ b/includes/Searcher.php
@@ -1255,6 +1255,8 @@
         */
        private function buildSearchTextQueryForFields( array $fields, 
$queryString, $phraseSlop, $isRescore ) {
                global $wgCirrusSearchAllowLeadingWildcard;
+               global $wgCirrusSearchQueryStringMaxDeterminizedStates;
+
                $query = new \Elastica\Query\QueryString( $queryString );
                $query->setFields( $fields );
                $query->setAutoGeneratePhraseQueries( true );
@@ -1263,6 +1265,12 @@
                $query->setAllowLeadingWildcard( 
$wgCirrusSearchAllowLeadingWildcard );
                $query->setFuzzyPrefixLength( 2 );
                $query->setRewrite( 'top_terms_boost_1024' );
+
+               if ( isset( $wgCirrusSearchQueryStringMaxDeterminizedStates ) ) 
{
+                       # Requires ES 1.4+
+                       $query->setParam( 'max_determinized_states', 
$wgCirrusSearchQueryStringMaxDeterminizedStates );
+               }
+
                return $this->wrapInSaferIfPossible( $query, $isRescore );
        }
 

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

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

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

Reply via email to