Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the new ElasticSearch search endpoint #833

Open
2 of 11 tasks
Tracked by #4844
teolemon opened this issue Nov 22, 2023 · 1 comment
Open
2 of 11 tasks
Tracked by #4844

Implement the new ElasticSearch search endpoint #833

teolemon opened this issue Nov 22, 2023 · 1 comment
Labels

Comments

@teolemon
Copy link
Member

teolemon commented Nov 22, 2023

Why - Problem description

  • As part of the search revamp project, we will be deploying a new Elasticsearch endpoint at https://search.openfoodfacts.org/docs#/
  • It will be OpenAPI compatible so we can generate a base Flutter SDK automatically that we can draw from here.
  • We will also be upgrading the classic product-opener search to use this backend in the background (with an unchanged API vs what we've already implemented), so we should not deprecate immediately classic search.
  • We should also implement direct calls to the Elasticsearch endpoint. This will pave the way for a fuller search implementation in Smoothie.

URL of the doc

https://search.openfoodfacts.org/docs#/

Routes

  1. 🎯 P0 🔎 Search

Schemas

Sub-issues already opened

  1. 🎯 P0 🔎 Search
    monsieurtanuki
  2. autocomplete brands requires server change 🎯 P1
    monsieurtanuki

Related issue in the official mobile app

@monsieurtanuki
Copy link
Contributor

My first tests show some problems/questions.

parameter discrepancies

In the current version

  1. we pass the country as a parameter
    => shouldn't we do so Elastic Search?
  2. we pass app_name as a parameter
    => shouldn't we do so Elastic Search?
  3. we pass the user name in the http header
    => shouldn't we do so Elastic Search?

product structure discrepancies

In the current version
4. the "brands" product field is a comma-separated String, and in Elastic Search it's a List<String>.
=> it probably means that we need a specific new Product class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants