[wp-meta] [Making WordPress.org] #2416: Plugin Search Should Autocorrect when few results

Making WordPress.org noreply at wordpress.org
Fri Jan 20 22:00:48 UTC 2017


#2416: Plugin Search Should Autocorrect when few results
------------------------------+------------------------------------------
 Reporter:  gibrown           |      Owner:
     Type:  enhancement       |     Status:  new
 Priority:  normal            |  Milestone:  Plugin Directory v3 - Future
Component:  Plugin Directory  |   Keywords:  ux-feedback needs-patch
------------------------------+------------------------------------------
 Although the work in #1692 has improved search results for most queries,
 it does not do well when the user makes a mistake or if the user is
 looking for something that simply does not exist.

 Based on evaluations of queries from logs I see:
 - top 1000 queries have 4.2% of all queries getting zero results
 - random 1k queries from the top 100k: 5% getting no results
 - random 1k queries from the bottom 400k: 32% getting no results

 Based on the [https://make.wordpress.org/meta/2016/08/30/initial-analysis-
 of-plugin-search-logs/ previous analysis] of these queries I estimate that
 overall '''18%''' of all queries will get no results. Also, '''35-40%'''
 of all queries will get less than 5 results.

 Based on those numbers, implementing some sort of "Did You Mean" UI when
 there are less than 5 results seems like it would improve the user
 experience.

 I think there are four cases to consider given that a user searches for
 "abc" and our suggester suggests "XYZ":
 1. Zero results: Show a "No results message". Then show results for "XYZ"
 (hopefully it will have results)
 2. <5 results: Show the 1-4 results for "abc" and after those results show
 the results for "XYZ". Link to "XYZ" and "XYZ" paging.
 3. >= 5 results and we got a suggestion. Show the results we got, but
 provide a link to go to "XYZ" results.
 4. >= 5 results and no suggestions. Show results for "abc" as we currently
 are.

 We could use some mockups of what this should look like.

 Based on looking at failing queries I see a number of patterns:
 - Lots of misspellings or slight typos. We should try and detect them and
 correct them
 - Lots of cases where the user is searching for a particular plugin that
 is not in the repo
 - Lots of cases where adding a space within a term would allow the query
 to match something
 - "woo commerce" no longer matches. Indicative of lots of potential cases
 where a misspelling prevents the user from finding what they are looking
 for.

 I've only briefly experimented with implementing the suggestions by using
 the Elasticsearch term suggester like so:
 {{{
   "suggest" : {
     "text" : "week calemdar",
     "term" : {
       "phrase" : {
         "field" : "content_en",
         "size" : 1
       }
     }
   }
 }}}

 Gives results of:

 {{{
   "suggest": {
     "term": [
       {
         "text": "week calemdar",
         "offset": 0,
         "length": 13,
         "options": [
           {
             "text": "week calendar",
             "score": 0.0005956095
           }
         ]
       }
     ]
   }
 }}}

 A lot more testing of the backend is needed, and there are other methods
 for creating ES suggestions that we have not experimented with yet.

--
Ticket URL: <https://meta.trac.wordpress.org/ticket/2416>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org


More information about the wp-meta mailing list