Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aui/pinyin-engine
JavaScript 拼音匹配引擎
https://github.com/aui/pinyin-engine
pinyin
Last synced: 3 months ago
JSON representation
JavaScript 拼音匹配引擎
- Host: GitHub
- URL: https://github.com/aui/pinyin-engine
- Owner: aui
- License: mit
- Created: 2017-08-10T11:12:54.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-06T04:14:30.000Z (about 3 years ago)
- Last Synced: 2024-04-24T18:42:11.927Z (6 months ago)
- Topics: pinyin
- Language: HTML
- Homepage: https://aui.github.io/pinyin-engine/example/
- Size: 214 KB
- Stars: 460
- Watchers: 6
- Forks: 53
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-star - pinyin-engine
README
# pinyin-engine
这是一款简单高效的拼音匹配引擎,它能使用拼音够快速的检索列表中的数据。
1. 使用索引以及缓存机制,从而在客户端实现毫秒级的数据检索
2. 它的字典数据格式经过压缩处理,简体中文版本仅仅 17kb 大小(Gzip)
3. 支持多音字、支持拼音首字母匹配
4. 简体版本覆盖 6718 个汉字,繁体中文覆盖 20846 个汉字在线演示:
## 安装
```shell
npm install pinyin-engine --save
```## API
### new PinyinEngine(list, keys)
建立拼音索引。
参数:
1. list `{[string]|[Object]}` 被索引的目标
2. keys `{[string]}` 可选。如果 list 为 `Object`,这里用来设置需要被索引的 key
3. begin `{[boolean]}` 可选。如果 begin 为 `true`,将执行前模糊检索### .query(keyword)
查询匹配拼音的数据。
参数:
1. keyword `{string}` 拼音或者关键字
返回:
`{[string]|{Object}}`
## 繁体中文版本
包含简体中文与繁体中文。
```js
const PinyinEngine = require('pinyin-engine/tw');
```## 使用范例
列表项为字符串:
```js
const PinyinEngine = require('pinyin-engine');// 建立数据索引
const pinyinEngine = new PinyinEngine([
'清华大学',
'北京大学',
'中央美院'
]);// 查询
pinyinEngine.query('daxue'); // ['清华大学', '北京大学']
```列表项为对象:
```js
const PinyinEngine = require('pinyin-engine');// 建立数据索引
const pinyinEngine = new PinyinEngine([
{ id: 0, name: '清华大学' },
{ id: 1, name: '北京大学' },
{ id: 3, name: '中央美院' }
], ['name']);// 查询
pinyinEngine.query('daxue'); // ['清华大学', '北京大学']
```