Disable unused simple query string features #3327
Labels
🕹 aspect: interface
Concerns end-users' experience with the software
🧰 goal: internal improvement
Improvement that benefits maintainers, not users
🟧 priority: high
Stalls work on the project or its dependents
🧱 stack: api
Related to the Django API
🧱 stack: frontend
Related to the Nuxt frontend
Problem
Simple query string makes it easy for us to accept user input to directly pass as a query term to Elasticsearch without worrying about messy or bad inputs causing unexpected behaviour for users. However, simple query string is expensive, so if it's possible to turn off any of the features that (a) we don't see people using (when we check logs) or (b) don't want people using (fuzzy, wildcard, etc?) then we can gain some performance benefits.
Description
This is a two part issue. For each of the simple query string features that can be turned off by the limit operators investigate whether they've been used in the last month by querying the API logs in CloudWatch. Any that have been used less than 100 times in the last month are worth turning off (that would represent a statistically meaningless number of search requests, 3 per day in the context of several hundred thousand requests per day).
My guess is we can probably turn off the following:
Note: This also requires modifying the frontend "search syntax" guide to remove mention of features we no longer support after this change, hence the "frontend" label alongside the API label.
Additional context
Suggested to us by Greg who works on Jetpack.
The text was updated successfully, but these errors were encountered: