Page MenuHomePhabricator

OpenSearch: If input exists as a title it should be included in the results
Closed, ResolvedPublic

Description

Currently it is possible for OpenSearch to fail to return the input in its results even if the input matches the title of a page which exists, especially for short page titles. Instead, OpenSearch should explicitly check if this is the case and return that, regardless of the other results it may contain.


Version: 1.23.0
Severity: enhancement

Details

Reference
bz70958

Event Timeline

bzimport raised the priority of this task from to High.
bzimport set Reference to bz70958.

The default search backend implements proper prefix search and does this naturally. But extensions providing search backends like Lucene and CirrusSearch actually fail to implement proper prefix searching and instead use their search engine ranking for prefix search as well. Thus often the exact match is not on top or is not even in the first 10 results at all.

E.g. on en.wikipedia.org:

Example

  1. "Example (musician)"
  2. "Example"
  3. "Example.com"

John ive

  1. "John Ives"
  2. "John Ivey"
  3. "John Ive"

Foo

  1. "Football (soccer)"
  2. "Football League Cup"
  3. "Foot (length)"

"Foo" exists but is not in the results.

gerritadmin wrote:

Change 161148 had a related patch set uploaded by Krinkle:
PrefifSearch: Enforce including the exact match as first result

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

gerritadmin wrote:

Change 161148 merged by jenkins-bot:
PrefixSearch: Enforce including the exact match as first result

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