Page MenuHomePhabricator

Make search context highlights work with the ferret search engine
Closed, ResolvedPublic

Description

According to T168061#5386265, we should see similar (actually better) search behavior by switching to Phabricator's built in search engine. It's not the same as what we used previously, the built in search has been overhauled completely since the last time we used it.

The built-in search seems to have good quality search results, however, it only shows titles in the search results. With elasticsearch we have contextual highlights to show matching words from the page body.

@epriestley mentioned in T224082#5804022 that the highlighting should be portable to ferret.

After looking at it in depth with @brennen, it looks feasible to implement context highlighting for ferret search results, however, it's not exactly straightforward. Some notes from our investigation: https://etherpad.wikimedia.org/p/phabricator-search

Revisions and Commits

Event Timeline

@brennen I think this would be a good small project for de-siloing phabricator stuff if you're interested in collaborating on this task in the coming quarter.

So the biggest difference that I can see between elastic and pherrit is that elastic supports highlighting the actual text that matched, with pherrit you don't see anything but the title of the matching documents.

mmodell renamed this task from Test out the Phabricator 'ferret' search engine. to Make search context highlights work with the ferrit search engine.Feb 26 2020, 6:30 PM
mmodell updated the task description. (Show Details)
mmodell renamed this task from Make search context highlights work with the ferrit search engine to Make search context highlights work with the ferret search engine.Feb 26 2020, 6:33 PM
mmodell added a revision: Restricted Differential Revision.Feb 28 2020, 4:10 AM

@brennen: I've submitted a revision ({D1179}), it's a rough draft, but it works... ignore the warts for now but please take a look and let me know if it's totally insane. I suspect it is at least moderately insane, however, I've had enough of this code for the time being and I wanted to give you something to look at.

If all goes according to plan, we should be able to launch a test rollout of this[1] next week.

[1] {D1179}

mmodell changed the task status from Open to Stalled.Apr 8 2020, 5:34 PM

This is ready to deploy but I don't feel confident deploying such a large-scale change right now.

mmodell lowered the priority of this task from Medium to Low.May 6 2020, 5:06 PM

I'm going to try to deploy this to a cloud instance for further testing.

mmodell changed the task status from Stalled to Open.May 13 2020, 5:15 PM
mmodell raised the priority of this task from Low to Medium.