Composants d'interface utilisateur pour React + Elasticsearch. Créez des applications de recherche à l'aide de composants déclaratifs.
Documentation et démo jouable disponibles ici.
const MySearchComponent = ( ) => (
< Elasticsearch url = "http://example.org/search" >
< SearchBox id = "mainSearch" fields = { [ "title" ] } />
< Facet id = "actors" fields = { [ "actors" ] } />
< Facet id = "releasedYear" fields = { [ "releasedYear" ] } />
< Results
id = "results"
items = { data =>
// Map on result hits and display whatever you want.
data . map ( item => < MyCardItem key = { item . _id } source = { item . _source } /> )
}
/>
</ Elasticsearch >
) ; npm i react-elasticsearch
yarn add react-elasticsearch
Vous pouvez tester des composants avec Storybook (20+ exemples).
npm run storybook
Nous avons commencé à construire l'expérience de recherche de la plate-forme ouverte du patrimoine culturel français avec ReactiveSearch, un composant de recherche de recherche bien connu Lib pour React. Après quelques semaines, nous avons réalisé que nous avions passé beaucoup de temps à peaufiner et à pirater la lib; Nous avions réécrit presque tous les composants nous-mêmes. Nous avons ouvert des problèmes et réalisé des demandes sur le référentiel, mais il semblait que la LIB était un peu coincée dans un processus de réécriture. Nous avons découvert que nous avons besoin d'une lib simple qui peut être facilement étendue avec une API similaire, nous avons créé celui-ci. Cette lib a beaucoup moins de fonctionnalités que d'autres, ce n'est même pas un concurrent décent. Mais depuis que cela nous a aidés à créer des expériences de recherche, elle a été publiée. J'espère que cela pourrait vous aider!
Problèmes ouverts et PR ici: https://github.com/betagouv/react-elasticsearch