# @byline/search-mysql 中文文档

规范地址：https://npmcn.com/package/%40byline/search-mysql/

版本：6\.13\.3
npm 元数据更新时间：2026-11-09T15:19:01.453Z
中文译文更新时间：2026-11-09T19:42:59.023Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40byline/search-mysql
原文对照：https://npmcn.com/package/%40byline/search-mysql/?lang=original
项目主页：https://github.com/Byline-CMS/bylinecms.dev
源码仓库：https://github.com/Byline-CMS/bylinecms.dev

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：77.6 kB，28 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.22\.2
- 运行依赖：2 个
- peer 依赖：mysql2 ^3\.23\.1
- 首次发布：2026-07-26T16:15:26.813Z
- 最新版本发布：2026-11-09T15:19:01.214Z
- 近 30 天下载量：1771（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：49（近 12 个月 49 个）

## 中文简介

Byline CMS 内置 MySQL 全文搜索提供者

## 安装

```sh
npm install @byline/search-mysql
```

也可以使用：`pnpm add @byline/search-mysql`、`yarn add @byline/search-mysql`、`bun add @byline/search-mysql`

## README

# @ byline/ search- misql 页面存档备份,存于互联网档案馆

内置的 MySQL 全文 `SearchProvider` 为 Byline CMS. 它结合了 便携式多语言分析器 `@byline/search-analysis` 加权 MySQL 数据 `FULLTEXT` 索引,提供无附加服务的排名搜索 并重用现有的 MySQL 连接池.

每行一行都存着 `(collection_path, document_id, locale)`可搜索 逻辑术语在MySQL看到之前被编码成 parser-security ASCII 令牌, 它维护了拜林的正常化,标识,扩展,和汉字 语义学并不依赖于服务器的句号列表或最小的符号长度. 4个物理指数保留内置的A-D字段加权类 PostgreSQL 供应商.

见 [`docs/06-search/06-postgres-and-mysql.md`](https://npmcn.com/package/docs/06-search/06-postgres-and-mysql.md) 用于内置供应商的比较和业务参考.

## 安装

```sh
pnpm add @byline/search-mysql
```

`mysql2` 是同级依赖。 使用 `@byline/db-mysql` 已经拥有了.

## 登记册

供应商重新使用东道主现有的承诺池(`db.pool` 从 `mysqlAdapter`),因此该索引存在于同一个数据库中:

```ts
import { defineServerConfig } from '@byline/core'
import { mysqlAdapter } from '@byline/db-mysql'
import { mysqlSearch } from '@byline/search-mysql'

const db = mysqlAdapter({ connectionString, collections, defaultContentLocale })

defineServerConfig({
  db,
  search: mysqlSearch({ pool: db.pool }),
  // …
})
```

收藏选择通过它的索引 `search` 配置 (单位:千美元)`{ body, facets, filters, zones }`) (中文(简体) ). `initBylineCore()` 如果发生快故障 收藏可选择输入,但没有注册提供者.

## 司马和移民

这个驱动程序拥有一个一次性搜索投影. 它的编号 SQL 文件在下面 [`migrations/`](https://npmcn.com/package/%40byline/search-mysql/migrations) 独立于主机数据库适配器 Drizzle 迁移和跟踪 `byline_search_migrations`。 。 。 .

为生产目的,在提供交通服务之前有意申请待移民:

```ts
import { migrate } from '@byline/search-mysql'

const { applied } = await migrate(db.pool, { log: (message) => logger.info(message) })
```

MySQL自动承诺DDL. 因此,模拟器使用服务器咨询锁, idpotentent DDL,仅在每个语句成功后记录一个版本. 迁移文件必须包含普通的分号限制语句,而不是 与内部划界器一起存储的例行程序.

为了地方发展, `mysqlSearch({ pool: db.pool, autoMigrate: true })` 开始背景迁移。 更喜欢明确等待 `migrate()` 只要决定性启动有关系,就打电话.

早期的实验计划没有兼容性迁移. 丢弃 只应用搜索自有表格 `0001_init.sql`,并重建可搜索 其出版版本的藏品:

```sql
DROP TABLE IF EXISTS byline_search_index_metadata;
DROP TABLE IF EXISTS byline_search_documents;
DROP TABLE IF EXISTS byline_search_migrations;
```

## 能力

适配器支持便携式分析, `all` 财务报告和审定财务报表 `any` 匹配时, 最小值匹配、短语限制、实地加权和突出 使用共享的可移动代号从所存储的正文中创建的片段 页:1 在 JSON 中保留 facet 数据和打入的过滤器供将来查询 特性.

面部聚合 结构化过滤 字型可耐性 语义检索, 和BM25目前报告为不支持。 MySQL 的本土相关性分数 贡献术语频率和反向文档频率,但提供者 不索赔BM25,因为MySQL没有披露稳定的BM25合同.

## 语言和语言

便携式分析器采用Unicode常态化,ICU字分解, 标识符保存、可选语言扩展器和 Han bigrams 之前 适配器写物理术语. `defaultLocale` 当 内容或查询不声明可用的区域 :

```ts
mysqlSearch({ pool: db.pool, defaultLocale: 'en' })
```

自定义分析器必须有稳定的,版本的指纹. 供应商商店 指纹和拒绝混合分析管道。 清除和 更改分析器后重新索引受影响的收藏 .

## 常见问题

### @byline/search-mysql 是什么？

Byline CMS 内置 MySQL 全文搜索提供者

### 如何安装 @byline/search-mysql？

在项目目录运行 npm install @byline/search-mysql，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：mysql2（^3\.23\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @byline/search-mysql 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @byline/search-mysql 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @byline/search-mysql 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.22\.2。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @byline/search-mysql 可以商用吗？

@byline/search-mysql 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @byline/search-mysql 的下载量有多少？

根据 npm 官方下载统计，@byline/search-mysql 在 2026/10/09 – 2026/11/07 这 30 天内被下载 1,771 次，日均约 59 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @byline/search-mysql 还在维护吗？

最新版本 6\.13\.3 发布于 2026/11/09（今天）；至今共发布 49 个版本，其中过去 12 个月发布了 49 个；首次发布于 2026/07/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

