JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Multi-model search with Elasticsearch
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 2.3k
- Forks
- 546
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I'm beginning to implement autocomplete functionality in an Ember app that searches across a number of models. Has anyone accomplished something similar with JSONAPI::Resources? I'm planning to use the Chewy gem to interface with Elasticsearch.
Currently I'm thinking:
- Either:
- Potentially bypass
JSONAPI::Resourcesaltogether withJSONAPI::Utils - Custom
indexaction that performs the search ifautocompleteparam is present
- Potentially bypass
- Or:
- Add an
autocompletefilter to an abstractSearchResource(not entirely sure this will work) that returns a heterogenous array of ActiveRecord models
- Add an
- Decorators or custom serializes for search so all records have the same attribute signature
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es werden keine Repository-Dateien oder Tests genannt. Beginne damit, die Erweiterungspunkte von JSONAPI::Resources zusammen mit Chewy und JSONAPI::Utils zu prüfen, und ermittle anschließend, ob die Autovervollständigung über mehrere Modelle in einer benutzerdefinierten Index-Aktion oder in einer abstrakten SearchResource angesiedelt sein sollte. Erledigt ist die Aufgabe, wenn ein Ansatz für heterogene Ergebnisse und eine konsistente Serialisierung festgelegt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- elasticsearch, ruby
- Bereich
- backend-api-design, search
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 20/100