Wikimedia Technology/Annual Plans/FY2019/TEC8: Search Platform/Goals
Program Goals and Status for FY18/19
[edit]- Goal Owner: Guillaume Lederrey
- Program Goals for FY18/19: Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to discover and search for content.
- Annual Plan: TEC8: Search Platform
- Primary Goal is Knowledge as a Service: Evolve our systems and structures
- Tech Goal: Supporting our Community of contributors
Outcome 1 / Output 1
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Incorporate Natural Language Processing (NLP) in the machine learning analysis pipeline for search
Dependency: Will need some short-term consulting help during implementation
Goal(s)
[edit]- Select 1 or 2 NLP applications and prototype the features
Status
[edit]Note: July 2018
- In progress
Note: August 21, 2018
- In progress Contract contents written up and will start recruiting soon.
Note: September 20, 2018
- Partially done this work continues but the prototype won't be completed in this quarter.
Outcome 1 / Output 2
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Evaluation of image features for search ranking
Goal(s)
[edit]Investigate and evaluate image level features for image search ranking (ie. Image quality score in ML indexing) (Stretch goal)
Status
[edit]Note: July 2018
- In progress
Note: August 21, 2018
- In progress We're using an older test that Miriam Redi created, and meetings / questions and answers are ongoing
Note: September 25, 2018
- Done.
Outcome 1 / Output 3
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Better understanding of the effectiveness of our improvements to search and the performance of our tooling on the back end
Dependency: Analytics (Audiences)
Goal(s)
[edit]Revise search metrics and dashboard
Status
[edit]Note: July 2018
- In progress
Note: August 21, 2018
- In progress We'll be reaching out to the Research team for assistance and bring them together with our help from Audiences for this goal.
Note: September 20, 2018
- This is currently Stalled as the Research team is a bit busy with other priorities.
Note: September 25, 2018
- In progress Analytics is working on the dashboard and documentation of search metrics
Outcome 1 / Output 4
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Improved support for multiple languages by researching and deploying new language analyzers where feasible on individual language wikis.
Goal(s)
[edit]Morphological library investigations and implementations (specific languages TBD)
Status
[edit]Note: July 2018
- In progress
Note: August 21, 2018
- In progress Esperanto plugin is Partially done, Malay is Done, both will need to be deployed into production with other small language bugs in the next couple of weeks.
Note: September 25, 2018
- Done: Esperanto is Done and has been deployed and re-indexed. Korean is still In progress.
Outcome 1 / Output 5
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Specific media search filters for Wikidata/Wikibase and the relationships to the topics they represent will be better supported using structured data and other techniques.
Dependency: WMDE
Goal(s)
[edit]- Lexeme search implementation: complete search implementation for all modes for Lemmas and Forms Done
- Investigate applying machine-learning enabled ranking to Wikidata searches, start collecting click data for Wikidata completion searches and start developing machine-learning models for Wikidata search relevancy. In progress
Status
[edit]Note: July 2018
- In progress
Note: August 21, 2018
- In progress Lexeme search work is on-going, but running into a few small issues with the queries and how results are presented and how we want to do this in the future. Also working on extracting cirrus stuff out of Wikibase and getting the Lexemes into the Wikidata query service.
Note: September 11, 2018
- In progress Lexeme search work is Done; the models are still In progress but most likely will be part of next quarter's work.
Outcome 2 / Output 1
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Elasticsearch upgrades and server replacements
Dependency: SRE
Goal(s)
[edit]- Continue to prepare for a major upgrade to Elasticsearch 6 In progress
- Replace Elasticsearch servers which are at the end of their lease ((stalled))
- Migrate Elasticsearch servers to RAID 0 Done
Status
[edit]Note: July 2018
- In progress
Note: August 21, 2018
- In progress Gehel has re-striped everything and migrated the Elasticsearch servers to Stretch. Lease expires on the servers next month; will also be working on migrating other (maps) servers to Stretch.
Note: September 20, 2018
- Partially done prep work is still ongoing, but the data center switch is taking some time away from this work. The actual full upgrade will be part of Q2's work and will require a few weeks of stress testing of the upgrade; also working on the full migration sequence path/documentation/shard checks.
Note: September 25, 2018
- Partially doneThere is still prep work to be done in Q2 for the ES6 upgrade, will not get to the actual upgrade until Q3, but currently working with local ES6 instances as prep work is being done. Progress on replacement Elasticsearch server procurement is stalled on the quotes and will be done in Q2.
Outcome 2 / Output 2
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Higher capacity for WDQS to improve its ability to power features on-wiki for readers and the growing set of features for supporting structured data
Dependencies: SRE, WMDE
Goal(s)
[edit]- Add storage to WDQS servers Done
- Enable Kafka event consumption In progress
- Separate the Wikidata Elasticsearch implementation into a separate extension Stalled
- Investigate Blazegraph support options and alternatives (Stretch goal) To do
Status
[edit]Note: July 2018
- To do Waiting on discs to arrive.
Note: August 21, 2018
- In progress Most of the discs have now arrived, need to take the servers offline and re-image them next as growing the cluster is difficult.
Note: September 20, 2018
- Partially done Kafka event consumption is continuing, but separating the Wikidata implementation into a different extension work will be moved to Q2 for completion.
Outcome 1 / Output 1
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Incorporate Natural Language Processing (NLP) in the machine learning analysis pipeline for search
Dependency: Will need some short-term consulting help during implementation
Goal(s)
[edit]- Find and hire a contractor to help with NLP work
- Begin working on one internal NLP project (wrong keyboard detection, starting with Russian/English) (T138958)
Status
[edit]Note: October 29, 2018
- In progress as interviews are on-going, we'll probably start the work in early Q3. Work is now ongoing with wrong keyboard detection.
Note: November 29, 2018
- Wrong keyboard work is In progress and NLP contractor work will still happen in Q3.
Note: December 13, 2018
- Contractor has been identified and the contract is starting to be worked on, considering this to be Done.
Outcome 1 / Output 2
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Better understanding of the effectiveness of our improvements to search and the performance of our tooling on the backend
Goal(s)
[edit]- Improve autocomplete of Wikidata items
- Expand our machine learning to Wikidata and Commons (autocompletes for relevance, considering multilingual)
- Prototype a feature that is based on collected data
- Continued work from Q1 with the collection of click logs for the autocomplete feature
Status
[edit]Note: October 29, 2018
- This is actively being worked on and is fully In progress.
Note: November 29, 2018
- This is actively being worked on and is fully In progress.
Note: December 13, 2018
- Trey has this In progress but will probably flow into early Q3 with the NLP contractor.
Outcome 1 / Output 3
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Improved support for multiple languages by researching and deploying new language analyzers where feasible on individual language wikis.
Goal(s)
[edit]- Finish up the Korean morphological library analysis and deploy into production (carry-over work from Q1)
- This work is dependent on the upgrade to ElasticSearch 6 finishing
- General language support (i.e, misc language-specific bugs)
Status
[edit]Note: October 29, 2018
- The Korean goal is now Done but won't be updated until the ElasticSearch 6.
Outcome 1 / Output 4
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Specific media search filters for Wikidata/Wikibase and the relationships to the topics they represent will be better supported using structured data and other techniques.
Dependency: WMDE
Goal(s)
[edit]- [figuring out what SDC wants]
- Search for licenses in Commons
Status
[edit]Note: October 29, 2018
- Stalled We are waiting on a few things yet from the SDoC program - hard specs on what is expected from the Search Platform to develop features based off of presentations.
Note: November 29, 2018
- Stalled We are waiting on a few things yet from the SDoC program - hard specs on what is expected from the Search Platform to develop features based off of presentations.
Note: December 13, 2018
- This goal is still Stalled as we await further instructions from SDoC program.
Outcome 2 / Output 1
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Elasticsearch upgrades and server replacements
Dependency: SRE, WMDE
Goal(s)
[edit]- Split the search clusters to increase stability Partially done
- Continue replacing ElasticSearch servers (end of life maintenance) Done
- Separate the Wikidata ElasticSearch implementation into a separate extension Partially done
- Migrate ElasticSearch cluster restart scripts as cookbooks using Spicerack In progress
- Stretch goal: Start working on the CloudElastic replicas (and perform a proof of concept with a few select wikis) To do
Status
[edit]Note: October 29, 2018
- In progress Quotes from vendors were much higher than expected, Gehel, Erik, and SRE are going over requests and refining configurations to get more within our budget.
Note: November 29, 2018
- This is still In progress — purchases for the new servers had been made and servers are getting delivered / installed.
Note: December 13, 2018
- Splitting the search clusters has been Done and testing is still In progress (should be done in the next week); replacing the older servers can be considered Done; separating the Wikidata ES implementation is Done but the new extension is still In progress and will be completed in Q3. Migrating the ES cluster to Spicerack is still In progress and will need testing.
- The stretch goal has been pushed to Q3.
Outcome 2 / Output 2
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Higher capacity for WDQS to improve its ability to power features on-wiki for readers and the growing set of features for supporting structured data
Dependencies: SRE, WMDE
Goal(s)
[edit]- Performance and bug fixes for WDQS In progress
- Service Level Objective (SLO) work for WDQS (T199228) In progress
- Carryover from Q1: continue to investigate Blazegraph support options and alternatives Done
Status
[edit]Note: October 29, 2018
- The SLO work is a bit Stalled, but still somewhat In progress at this point due to varying conversations, but lots of work has been ongoing with the fixes on WDQS. The team is still investigating long term usage of Blazegraph and what that means to the Foundation.
Note: November 29, 2018
- This is now In progress
Note: December 13, 2018
- These goals are still In progress; but the SLO work will flow into Q3. Blazegraph support options investigation is now Done and we are determining next steps.
Outcome 1 / Output 1
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Incorporate Natural Language Processing (NLP) in the machine learning analysis pipeline for search
Dependency: Will need some short-term consulting help during implementation
Tech Goal(s)
[edit]- C: Improve our own feature set
Goal(s)
[edit]- Work with NLP contractor on spelling and did-you-mean result tuning (T212884) and (T212888)
- Complete Russian/English wrong keyboard detection (T138958)
Status
[edit]Note: January 22, 2019
- * The wrong keyboard detection work is In progress; the NLP contract work is Stalled for right now due to certain legal issues.
Note: February 25, 2019
- * The wrong keyboard work has been Postponed for now, as the NLP work has kicked off and is fully In progress
Note: March 19, 2019
Outcome 1 / Output 2
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Better understanding of the effectiveness of our improvements to search and the performance of our tooling on the backend
Tech Goal(s)
[edit]- C: Improve our own feature set
Goal(s)
[edit]- Deploy improved autocomplete for English Entities
- Use machine learning to improve autocomplete of Wikidata items for three more languages
Status
[edit]Note: January 22, 2019
- * The patch for this is Done and going out with this week's train and the A/B tests are going to be starting soon.
Note: February 25, 2019
- * Tested Spanish, English, and French - all good with the testing and is now deployed in production Done
Outcome 1 / Output 3
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Improved support for multiple languages by researching and deploying new language analyzers where feasible on individual language wikis.
Tech Goal(s)
[edit]- A: Foundation Goal: Reach
- B: Serving our audiences
- C: Improve our own feature set
- D: Technical Debt
Goal(s)
[edit]- Deploy Korean morphological library into production (after Elasticsearch is upgraded)
- General language support (i.e, misc language-specific bugs)
Status
[edit]Note: January 22, 2019
- * We're still working on upgrading ElasticSearch, so the deployment of Korean library is still Stalled at this point. General lang support is In progress and ongoing.
Note: February 25, 2019
- * The Korean update is Partially done and planned for next week to be rolled out as part of the ES6 upgrade. General lang support is In progress and ongoing.
Note: March 19, 2019
- * The Korean update work is Partially done and will be completed when ES6 is Done
- * Improved analysis for Greek, Turkish, and Irish with language-specific lowercasing (T203117/T217602)
Outcome 2 / Output 1
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Elasticsearch 6 upgrades and server replacements
Dependency: SRE, WMDE
Tech Goal(s)
[edit]- C: Improve our own feature set
- D: Technical Debt
Goal(s)
[edit]- Upgrade ElasticSearch to v6
- Complete separation of Wikidata ElasticSearch implementation into a separate extension
- JVM and ElasticSearch upgrade Spicerack cookbooks
- Stretch goal: Start working on the CloudElastic replicas (and perform a proof of concept with a few select wikis)
Status
[edit]Note: January 22, 2019
- * The upgrade is still In progress and troubleshooting issues with cluster states and building a whole new big bunch of shards to handle the increased load.
- * The separation of Wikidata ElasticSearch implementation is still In progress, but other work is also on-going right at the moment.
- * JVM and ES upgrade is In progress; we are doing first passes at the integration testing, and will have a first set of cookbooks soon.
- * Stretch goal might be a bit closer than we initially thought, but once ES6 is in production, we can finish this up, maybe in mid February.
Note: February 25, 2019
- * ES6 is In progress planned to be deployed the week of March 4th
- * Wikidata ElasticSearch implementation is still In progress and we hope to get it mostly done by end of this quarter, but might go over into next quarter for the deployment.
- * JVM and ElasticSearch upgrade is still In progress - ES6 cookbooks are Done and we only have a little bit to do with the rest of the WS6 upgrade. (T202885)
- * Stretch goal is In progress (T214921)
Note: March 19, 2019
- Relforge update will be Done soon (this week).
- Stretch goal (CloudElastica replica) is still In progress but will extend into Q4's work
Outcome 2 / Output 2
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Higher capacity for WDQS to improve its ability to power features on-wiki for readers and the growing set of features for supporting structured data
Dependencies: SRE, WMDE
Tech Goal(s)
[edit]- B: Serving our audiences
- C: Improve our own feature set
- D: Technical Debt
Goal(s)
[edit]- Performance and bug fixes for WDQS
- Service Level Objective (SLO) work for WDQS (T199228) In progress
- Release official Blazegraph code package and start using Blazegraph CI
- Roadmap planning for WDQS
Status
[edit]Note: January 22, 2019
- Perf / bug fixing is on-going and In progress along with a new roadmap on how to figure out which ones come first.
- SLO is In progress, we'll talk about it during All Hands week
- We are having issues with Blazegraph right now, but we're working them, so In progress for the issues, but the official code package is To do
Note: February 25, 2019
- Perf / bug fixing for WDQS is on-going and In progress
- SLO work is in a waiting status for us, but we're keeping it In progress
- Blazegraph's CI is still getting attention and is In progress (T216855)
Note: March 19, 2019
- Perf / bug fixing for WDQS is on-going and In progress
- SLO work for Blazegraph is a bit Stalled right now as we're continuing a few conversations about public and internal facing WDQS up time and expectations of the service.
- The release official Blazegraph code package is Done and we're working on a few config changes for using Blazegraph in CI, but can be considered Done at this point.
- Road map planning for Blazegraph is Done as well
Outcome 1 / Output 1
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Incorporate Natural Language Processing (NLP) in the machine learning analysis pipeline for search
Dependency: Using short-term consulting help
Tech Goal(s)
[edit]- C: Improve our own feature set
Goal(s)
[edit]- Complete 'did you mean' (DYM) project with NLP contractor (T212884)
- Assess performance and investigate beginning integration work for deployment
- Enable new Korean analysis, reindex clusters, and retrain the 'learning to rank' (LTR) model (T216738)
Status
[edit]Note: May 28, 2019
- The 'did you mean' work has been in progress and the team is In progress reviewing the code patches (method 1 is Done, method 2 is In progress).
- The work on the Korean analysis is Done and we are currently gathering data after the reindex. The retraining is still To do.
Note: June 25, 2019
- DYM is pretty much Done at this point, as far as the work with our contractor. Method 2 works but we need to find another way to evaluate this method - still evaluating In progress and this will continue into next FY/quarter.
- Assessing perf and integration work is In progress
- Korean retraining is still To do and will move into next FY/quarter. We are wanting to setup an automated pipeline.
Outcome 1 / Output 3
[edit]Through incremental Search Platform component improvements, teams and developers can deliver more and better ways for readers and editors to search for content across languages.
- Improved support for multiple languages by researching and deploying new language analyzers where feasible on individual language wikis.
Tech Goal(s)
[edit]- A: Foundation Goal: Reach
- B: Serving our audiences
- C: Improve our own feature set
- D: Technical Debt
Goal(s)
[edit]- Search "Local Impact": making making bigger improvements for smaller (or underrepresented) communities T218613
- Investigate and continue to revise search metrics and dashboards (T216055)
Status
[edit]Note: May 28, 2019
Note: June 25, 2019
- This work will continue into next FY/quarter.
Outcome 2 / Output 1
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Elasticsearch 6 upgrades and server replacements
Dependency: SRE
Tech Goal(s)
[edit]- C: Improve our own feature set
- D: Technical Debt
Goal(s)
[edit]- Adding ability for cloud environment to use ElasticSearch and perform a proof of concept with a few select wikis (T214921)
This work is often referred to as "Cloud Elastic Replicas".
Status
[edit]To do April 2019
- There might be some work needed to do this month after the ES6 upgrade that should be finished in q3
Note: May 28, 2019
- Upgrade to ES6 is Done and the CloudElastic work is In progress. Might need to do some more work with the deprecation loggers (minor cleanup still In progress on https://phabricator.wikimedia.org/T218994
Note: June 25, 2019
- CloudElastic work is still In progress - we're waiting on the load balancer to be activated and then we can automate the updates.
- The deprecation loggers work is Partially done and will wrap up early next quarter and continue until the next elastic upgrade.
Outcome 2 / Output 2
[edit]Technical debt addressed and required maintenance completed for Search Platform components
- Higher capacity for WDQS to improve its ability to power features on-wiki for readers and the growing set of features for supporting structured data
Dependencies: SRE, WMDE
Tech Goal(s)
[edit]- B: Serving our audiences
- C: Improve our own feature set
- D: Technical Debt
Goal(s)
[edit]- Improve the performance and functionality of Blazegraph (the graph storage engine behind Wikidata Query Service).
Status
[edit]Note: May 28, 2019
- Improving Blazegraph is still In progress and we are working on the existing bugs with SPARQL operations. The query performance work is going well and ready for deployment with a full db reload Partially done, should be completely done in June.
Note: June 25, 2019
- Blazegraph improvements for performance and functionality is ongoing and continuing ...lots of bug fixes are In progress, and we need to investigate how to do rebuilds while having different configurations. This work will continue into next FY.