{"id":22039421,"url":"https://github.com/mpolinowski/reactive_search","last_synced_at":"2026-04-08T20:03:09.039Z","repository":{"id":111484145,"uuid":"280431535","full_name":"mpolinowski/reactive_search","owner":"mpolinowski","description":"A React.js interface for Elasticsearch 7.8 using reactivesearch 3","archived":false,"fork":false,"pushed_at":"2025-09-10T21:02:41.000Z","size":2700,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-10T22:15:49.161Z","etag":null,"topics":["create-react-app","elasticsearch7","reactivesearch","reactjs","search-interface"],"latest_commit_sha":null,"homepage":"https://wiki.instar.com/Search/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpolinowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-17T13:29:15.000Z","updated_at":"2022-06-08T06:05:07.000Z","dependencies_parsed_at":"2023-05-09T17:16:47.242Z","dependency_job_id":null,"html_url":"https://github.com/mpolinowski/reactive_search","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mpolinowski/reactive_search","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Freactive_search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Freactive_search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Freactive_search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Freactive_search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpolinowski","download_url":"https://codeload.github.com/mpolinowski/reactive_search/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Freactive_search/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31571601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["create-react-app","elasticsearch7","reactivesearch","reactjs","search-interface"],"created_at":"2024-11-30T11:10:41.836Z","updated_at":"2026-04-08T20:03:09.002Z","avatar_url":"https://github.com/mpolinowski.png","language":"JavaScript","readme":"```md\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm start`\n\nRuns the app in the development mode.\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits. You will also see any lint errors in the console.\n```\n\n\n![ReactiveSearch Elasticsearch Interface](./reactiveSearch.gif)\n\n\n# ReactiveSearch App\n\nWe can either add [ReactiveSearch](https://opensource.appbase.io/reactivesearch) to an existing app or create a boilerplate app with Create React App (CRA):\n\n\n```bash\ncreate-react-app search-app \u0026\u0026 cd search-app\n```\n\n\n## Install ReactiveSearch\n\nWe will fetch and install reactivesearch module using yarn or npm.\n\n\n```bash\nnpm install @appbaseio/reactivesearch\n```\n\n\n## Building your App\n\nLets add our first ReactiveSearch component: [ReactiveBase](https://opensource.appbase.io/reactive-manual/getting-started/reactivebase.html), it is a backend connector where we can configure the Elasticsearch index / authorization setup.\n\n\nWe will update our `src/App.js` file to add ReactiveBase component and connect them to our local instance of Elasticsearch 7.8:\n\n\n```js\nimport React, { Component } from \"react\";\n\nimport {\n  ReactiveBase,\n  CategorySearch,\n  SelectedFilters,\n  ReactiveList,\n  SingleList,\n  MultiList,\n  ResultList,\n} from \"@appbaseio/reactivesearch\";\n\nconst { ResultListWrapper } = ReactiveList;\n\nconst flexBox = {\n  display: \"flex\",\n  marginTop: 20,\n};\n\nconst flexColumn = {\n  flexDirection: \"row\",\n};\n\nconst tagsSelector = {\n  minHeight: \"100%\",\n};\n\nclass App extends Component {\n  render() {\n    return (\n      \u003cReactiveBase url=\"http://localhost:9200\" app=\"wiki_ssr_en_2020_07_06\"\u003e\n        \u003cCategorySearch\n          componentId=\"q\"\n          //title=\"WikiSearch\"\n          placeholder=\"INSTAR Search Assistant\"\n          categoryField=\"chapter.raw\"\n          defaultValue={{\n            term: \"first steps\",\n            category: \"*\",\n          }}\n          react={{\n            and: [\"chapter_filter\", \"tag_filter\", \"type_filter\"],\n          }}\n          dataField={[\"title\", \"tags\", \"abstract\", \"description\"]}\n          fieldWeights={[8, 10, 5, 3]}\n          //queryFormat=\"or\"\n          searchOperators=\"true\"\n          autosuggest={true}\n          highlight={true}\n          //highlightField=\"abstract\"\n          defaultSuggestions={[\n            { label: \"First Steps\", value: \"first steps\" },\n            { label: \"Installation\", value: \"installation\" },\n            { label: \"Web User Interface\", value: \"web user interface\" },\n            { label: \"InstarVision\", value: \"instarvision\" },\n          ]}\n          fuzziness={1}\n          debounce={100}\n          showFilter={true}\n          filterLabel=\"Filter\"\n          URLParams={true}\n        /\u003e\n        \u003cSelectedFilters /\u003e\n        \u003cdiv style={flexBox}\u003e\n          \u003cdiv style={flexColumn}\u003e\n            \u003cSingleList\n              componentId=\"chapter_filter\"\n              dataField=\"chapter.raw\"\n              title=\"Chapters\"\n              size={100}\n              sortBy=\"count\"\n              defaultValue=\"All Chapters\"\n              selectAllLabel=\"All Chapters\"\n              showRadio={true}\n              showCount={true}\n              showSearch={false}\n              //placeholder=\"Search Chapters\"\n              react={{\n                and: [\"q\"],\n              }}\n              showFilter={true}\n              filterLabel=\"Filter\"\n              URLParams={false}\n              loader=\"Loading ...\"\n            /\u003e\n\n            \u003chr /\u003e\n\n            \u003cSingleList\n              componentId=\"type_filter\"\n              dataField=\"type.raw\"\n              title=\"Type\"\n              size={100}\n              sortBy=\"count\"\n              defaultValue=\"All Types\"\n              selectAllLabel=\"All Types\"\n              showRadio={true}\n              showCount={true}\n              showSearch={false}\n              react={{\n                and: [\"q\"],\n              }}\n              showFilter={true}\n              filterLabel=\"Filter\"\n              URLParams={false}\n              loader=\"Loading ...\"\n            /\u003e\n\n            \u003chr /\u003e\n\n            \u003cMultiList\n              componentId=\"tag_filter\"\n              dataField=\"tags.raw\"\n              title=\"Tags\"\n              react={{\n                and: [\"q\"],\n              }}\n              showSearch={false}\n              style={tagsSelector}\n              URLParams={false}\n              loader=\"Loading ...\"\n            /\u003e\n\n            \u003chr /\u003e\n          \u003c/div\u003e{\" \"}\n          {/* FlexColumn */}\n          \u003cReactiveList\n            from={0}\n            size={15}\n            pagination\n            react={{\n              and: [\"q\", \"chapter_filter\", \"tag_filter\", \"type_filter\"],\n            }}\n            componentId=\"SearchResult\"\n          \u003e\n            {({ data, error, loading }) =\u003e (\n              \u003cResultListWrapper\u003e\n                {data.map((item) =\u003e (\n                  \u003ca href={\"https://wiki.instar.com\" + item.sublink1}\u003e\n                    \u003cResultList key={item._id}\u003e\n                      \u003cResultList.Image\n                        src={\"https://wiki.instar.com/\" + item.imagesquare}\n                      /\u003e\n                      \u003cResultList.Content\u003e\n                        \u003cResultList.Title\n                          dangerouslySetInnerHTML={{\n                            __html: item.title,\n                          }}\n                        /\u003e\n                        \u003cResultList.Description\n                          dangerouslySetInnerHTML={{\n                            __html: item.abstract,\n                          }}\n                        /\u003e\n                      \u003c/ResultList.Content\u003e\n                    \u003c/ResultList\u003e\n                  \u003c/a\u003e\n                ))}\n              \u003c/ResultListWrapper\u003e\n            )}\n          \u003c/ReactiveList\u003e\n        \u003c/div\u003e{\" \"}\n        {/* FlexBox */}\n      \u003c/ReactiveBase\u003e\n    );\n  }\n}\n\nexport default App;\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolinowski%2Freactive_search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpolinowski%2Freactive_search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolinowski%2Freactive_search/lists"}