From a7bf9ac2c56303710090cc7a794a1e8f741b5d0e Mon Sep 17 00:00:00 2001 From: Erik Bernhardson Date: Tue, 25 Sep 2018 09:34:28 -0700 Subject: [PATCH] Forward X-Search-ID header to search suggest tracking This header can be injected into api responses that include search results to provide a link between the backend logs and any frontend logging. Associating autocomplete tracking with backend logs will allow us to determine autocomplete examination probabilities, and more generally be able to evaluate autocomplete effectiveness. Bug: T205348 Change-Id: I1663906e2fd71f7df215e563b09a0b4fb8948ab8 --- resources/src/mediawiki.searchSuggest/searchSuggest.js | 2 ++ .../src/mediawiki.widgets/mw.widgets.SearchInputWidget.js | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/resources/src/mediawiki.searchSuggest/searchSuggest.js b/resources/src/mediawiki.searchSuggest/searchSuggest.js index bd94f29f55..f38ec06cf3 100644 --- a/resources/src/mediawiki.searchSuggest/searchSuggest.js +++ b/resources/src/mediawiki.searchSuggest/searchSuggest.js @@ -22,6 +22,7 @@ } ).done( function ( data, jqXHR ) { response( data[ 1 ], { type: jqXHR.getResponseHeader( 'X-OpenSearch-Type' ), + searchId: jqXHR.getResponseHeader( 'X-Search-ID' ), query: query } ); } ); @@ -113,6 +114,7 @@ action: 'impression-results', numberOfResults: context.config.suggestions.length, resultSetType: metadata.type || 'unknown', + searchId: metadata.searchId || null, query: metadata.query, inputLocation: getInputLocation( context ) } ); diff --git a/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js index 75bf891cee..0d0fa86eaf 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js @@ -156,6 +156,7 @@ // tracking purposes promise.done( function ( data, jqXHR ) { self.requestType = jqXHR.getResponseHeader( 'X-OpenSearch-Type' ); + self.searchId = jqXHR.getResponseHeader( 'X-Search-ID' ); } ); return promise; @@ -173,10 +174,12 @@ data: response || {}, metadata: { type: this.requestType || 'unknown', + searchId: this.searchId || null, query: this.getQueryValue() } }; this.requestType = undefined; + this.searchId = undefined; return resp; }; @@ -215,6 +218,7 @@ action: 'impression-results', numberOfResults: items.length, resultSetType: data.metadata.type, + searchId: data.metadata.searchId, query: data.metadata.query, inputLocation: this.dataLocation || 'header' } ); -- 2.20.1