Cross-wiki Search Result Improvements

A New Goal
The wmdis>Special:MyLanguage/Wikimedia Discovery|Discovery department is looking into the ability to provide search results from other Wikimedia projects within the same language (commonly named cross-wiki or inter-wiki searches).

For example, if you were on the French Wikivoyage and searched for "[https://fr.wikivoyage.org/w/index.php?search=milk milk]" you would be presented with the expected matching articles from the French Wikipedia and results from other French Wikimedia projects (i.e.: [https://fr.wiktionary.org/wiki/milk fr.wiktionary] and [https://fr.wikiquote.org/wiki/Sp%C3%A9cial:Recherche/Milk?searchToken=9n1mwlbd2kk8yqf2y0ayg1gbe fr.wikiquote]).

This page is an attempt to summarize some of our thoughts and we invite all contributors to openly discuss this potential change on the talk page.

The Rationale
The way search currently works for all Wikimedia projects is this: each language project has its own separate index to search in.

This means that there is currently no way to search across all wiki projects for relevant results at the same time.

However, on the backend, the language is the same for a search (regardless of project) and visitors may be interested in information that could be in a sister project in their language.

Providing search results across projects (within the same language) provides more information to visitors, easier visibility into other projects, and increases the value Wikimedia visitors receive out of searching on-wiki, which includes the potential for less zero result searches.

Displaying additional search results across projects will not only increase visibility to those other sister projects but it could also increase discovery into more articles of interest and possibly even encouraging additional contributions.

Why haven't we done this already?
''' Why not have one giant index to search across all projects in all languages? '''


 * Technical complexity is one reason: the size of the resulting index would be in the hundreds of gigabytes. For example, the English Wikipedia database index of all article pages is around 200 gigabytes.  Providing search results quickly would be negatively impacted if having just one very large database index.


 * Another reason for this 'one language' search results approach is that it probably wouldn't be very useful to search for a topic across all languages. Searching for "Paris, France" and seeing generally the same article in French, German, and English wouldn't help very much in discovering new information.

 The English language wiki projects are quite large: 


 * English Wikipedia index for all English article pages is approximately 200 GB


 * English Wikinews is approximately 15 GB


 * English Wikisource is approximately 6 GB

''' This might impact various existing wiki workflows by displaying additional search results. '''


 * This could possibly affect bots, contributors, researchers, readers, etc.

The Plan
In the first quarter (July - September 2016) the engineering team will continue to work on the following four main steps:

First


 * Combine indexes within the same languages.


 * Ask for the help from the community - which includes the discussion on this page. ✅


 * The Search and Design teams at WMF will create mockups of how these new search results might be displayed. ✅

Second

By the end of the next quarter (October - December 2016) the team will compare search satisfaction. This will be done:


 * after the cross-wiki index is ready for several pre-selected languages ✅


 * after running A/B tests to collect real time data with which to analyze ❌


 * and get the UI mocks finalized for front end testing here: ✅


 * while also creating a Labs instance for early testing. ✅

Third

In the this quarter (January - March 2017), we will:


 * begin A/B testing for the front end of this new feature for analysis and feedback from the community.


 * continue to refine and enhance the back end for this feature


 * First A/B/C test was run and found to be not very conclusive  ✅


 * Second A/B test will be run, after fixing a minor UI bug and adding four more Wikipedias to test on, for a total of eight.

Fourth

April - June 2017:


 * wrap up analysis of the second A/B test for the sister projects snippets in the search results page


 * release translated note to Village Pumps announcing the production deployment


 * release blog post about search


 * release into production on all Wikipedias

Current Search Examples
There are already a few community-led solutions to provide additional discovery of other Wikimedia projects and articles in the same language.

Here is a small collection of examples:

 Current search results pages for a few language wikis: 


 * Hatian Creole:
 * https://ht.wikipedia.org/wiki/Espesyal:Chache/Milk
 * Entries at the page-bottom are added via mw:Extension:ArticlePlaceholder
 * French:
 * https://fr.wikipedia.org/wiki/Spécial:Recherche/Milk
 * Entries at the page-bottom are added via d:User:Yair rand/WikidataInfo.js
 * Italian:
 * https://it.wikipedia.org/w/index.php?title=Speciale:Ricerca/Milk&fulltext=1
 * Entries at the page-bottom are added via d:User:Yair rand/WikidataInfo.js
 * Navbox at the page-side is added via w:it:MediaWiki:Search-interwiki-custom

External Search Gadget:
 * mw:MediaWiki:Gadget-externalsearch.js
 * This gadget will search a custom list of technical sites, giving a multi-tab result list and is further explained at Wikimedia technical search
 * Here is a [http://imagizer.imageshack.com/img923/7500/nLyRSM.png screenshot] of this custom action (unfortunately, searching for "google.com/cse" can trigger a spam filter message for some browsers)

How could these additional search results be displayed?
The appearance of search results is open for discussion and we have some rough drafts for you to look at below with more design possibilities on cwsrd>Cross-wiki Search Result Improvements/Design|Design. Here are a few examples of what a new search results page could look like based on existing solutions on other language wikis:

Help us choose the solution
cwsrtlk>Talk:Cross-wiki Search Result Improvements|Please provide your feedback now!
 * Two quarters are needed, at a minimum, to architect and design the technical implementation.
 * The team would like to have something to test and to show to the community sometime in late 2016.


 * We've decided on the mocks in  that will be tested in the first quarter of 2017.

The Questions
The team has many questions and this is what we'd like to request feedback on from the community:


 * 1) How do we want these new, additional, relevant search results to be displayed?
 * 2) Should the results from whatever wiki you're on to be shown first and then have an option to show more from other wikis?
 * 3) Should the additional results be inter-mixed with the local wiki results?
 * 4) Should the additional results be displayed off to the side (or maybe the bottom) of the results page?
 * 5) Should we have the option to turn off  these other relevant search results (a user and/or project opt-out)?
 * 6) * This could be a keyword search term or maybe a button for a visitor to click
 * 7) * This could also be similar to the  keyword that will only search for images on the local wiki and not Commons files, for instance.
 * 8) Would the additional results be best displayed as a list or a grid design?
 * 9) Should we include relevant metadata (images and/or a short description) with the search results?
 * 10) Do the results need to have the size of the article (i.e.:  ) and the date it was created/modified?
 * 11) Should we indicate that clicking on a result will take you to another wiki project?
 * 12) How many results from other wikis should we show - 1, 2, 3, or more?
 * 13) Should we limit the existing method of displaying results from the wiki that you searched on?
 * 14) * We currently show up to 10,000 results in a paginated manner, but testing shows that generally only the first 3 results are ever acted upon.
 * 1) Do we want these new search results to work across all Wikimedia projects?
 * 2) For example, if I'm on Wikiquote, do I want to also see relevant search results from Wikivoyage, Wikipedia or Wikinews?
 * 3) Or, if I'm on Wikipedia, just show me results from other projects?
 * 4) Would these other relevant search results be useful and encourage deeper exploration into various topics?
 * 5) Is it annoying to see the other wiki search results?
 * 6) Conversely, does it encourage a user to discover more knowledge?
 * 7) How much weight do we give results from other wiki projects in the results?
 * 1) Will the display of the additional search results from other wikis encourage contributions from editors?
 * 2) i.e.: if you search for   and don't see a Wikivoyage article about it (while I'm searching on Wikiquote), would that encourage you to start an article for it?
 * 1) Should we limit the amount of languages we search in?
 * 2) i.e.: only use the top 50 languages to implement this in?
 * 3) Or, only use the languages that we are detecting queries in an other language than the wiki the user is on?

See also: Explore similar, Wiktionary widget, thumbnail icons in search results

 * - Design notes and illustrations on how search results might appear
 * Explore Similar links on the search results page
 * A/B testing information
 * Self-guided testing step-by-step instructions
 * Wiktionary widget on the search results page
 * A/B testing information
 * Self-guided testing step-by-step instructions
 * Adding thumbnail icons to search results
 * A/B testing information

 Phabricator tickets: 


 * https://phabricator.wikimedia.org/T137312
 * https://phabricator.wikimedia.org/T136639
 * https://phabricator.wikimedia.org/T139310

 Discussion notes: 


 * https://etherpad.wikimedia.org/p/interwiki-implications
 * https://etherpad.wikimedia.org/p/inter-wiki
 * https://etherpad.wikimedia.org/p/multi_project_indices

A/B Testing
After taking into account community feedback and design team recommendations, we'll start A/B testing soon.

View this page for more information.

Self-guided testing
This page was created to encourage users to do their own testing, via a self-guided testing page with examples for those not-so-technical and those that have a Wikipedia account and are a little more experienced.