介绍
ih-searchkit 是一个基于 Elasticsearch 平台的快速开发全文搜索 UI 库,可轻松对前端项目进行集成,快速实现搜索功能。它提供了一整套高度可配置的组件和高级搜索功能,支持自定义主题样式,使得开发者可以根据项目需求进行自定义。
安装
首先,在本地环境中搭建 Elasticsearch 服务器,并创建所需的索引。
接着,通过以下命令进行安装:
npm install --save ih-searchkit
安装完成后,在项目中引入搜索组件:
import { SearchkitManager, SearchBox, Hits } from 'ih-searchkit'
配置
首先,创建一个 SearchkitManager 实例,用于管理搜索请求和结果,并连接 Elasticsearch 服务器:
const sk = new SearchkitManager('http://localhost:9200/my_index')
然后,配置搜索组件。以下是使用搜索框、结果列表和分页器的基本配置:
-- -------------------- ---- ------- ----- -------------- - - --- ------------- --------------- ----- ------------ ---------- ------------- - --------- ---------- -- ------------- ------- -- - ------ - ----- - ------- - - ------ - ------ ----- - -- - ------ - -------- ----- - - - - - - - ----- --------- - - ------------ --- ---------------- ---------- -------------- --------- - ----- --------------- - - ------------ ---- -
其中,searchBoxProps 是搜索框的配置,queryBuilder 是用于构建搜索请求的函数。hitsProps 是结果列表的配置,itemComponent 是自定义的结果项组件。paginationProps 是分页器的配置,showNumbers 表示是否显示页码。
最后,将搜索组件添加到页面上:
ReactDOM.render( <div> <SearchBox {...searchBoxProps} queryFields={['title']} setSearchTerm={(term) => sk.query.setQueryString(term)} /> <Hits {...hitsProps} searchkit={sk} /> <Pagination {...paginationProps} searchkit={sk} /> </div>, document.getElementById('root') )
自定义
ih-searchkit 支持自定义组件和样式。以下是自定义样式的示例:
-- -------------------- ---- ------- ----------------- - -------------- - -------------- ----- ----- - ------ ----- ---------- ------ ------- ----- -------- --- ----- ---------- ----- ------------ ---- ------ ----- ----------------- ----- ----------------- ----- ------- --- ----- ----- -------------- ---- ----------- ----- ----------- ------------ ----------- ---------------- ----------- ------ ------- - ------------- -------- -------- -- ----------- ----- - --- --- ------------------- - --- ---------------------- - - - -------- - ---------------- ----- ------------- -- ------------- - -------------- --- ----- ----- -------- ----- ------------ - -- - ----------- -- -------------- ---- - - ------ ----- ------- - ------ -------- - - - ------------------ - ------ -------- - ---------------- - ----------- ------- - - - - -------------- - ------------ ----- --------------- ----- ------------------- - ------- - ----- ----------------- ----- ------- --- ----- ----- -------------- ---- -------- --- ----- ---------------- ----- ------- -------- ------- - ----------------- ----- - --------------------------- - ------ ----- ----------------- -------- ------------- -------- ------- - ----------------- -------- ------------- -------- - - - - -
将样式应用到组件上:
-- -------------------- ---- ------- ------ - ------ - ---- -------------- ---------------- ------- ------------------------- ----- ---------- ------------------- -------------- -- ----- -------------- -------------- -- ----------- -------------------- -------------- -- ------ ---------- ------------------------------- -
总结
ih-searchkit 是一个快速开发全文搜索 UI 库,可轻松实现搜索功能。通过对配置和自定义的学习,可以更好地实现项目需求。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e18a563576b7b1ecb28