@ byline/ search- analysis( 按行/ 搜索- 分析)
便携式多语种术语分析和后端中性查询规划 Byline CMS搜索供应商.
软件包拥有逻辑搜索行为 :
- 仅搜索 NFKC 正常化,并用正本文本抵消;
- 已声明的本地验证和基于脚本的倒置;
- 字分之前的标识符提取;
- 伊斯兰法院联盟支持
Intl.Segmenter单词边界; - 精确保留语言扩展钩;
- 相互重叠的汉字;
- 分组查询概念和短语意图
- 解析器安全 SQL 令牌编码器;以及
- 后端中性突出片段.
它没有搜索索引或查询数据库。 PostgreSQL, MySQL, 索尔, 未来提供商将逻辑分析转换成自己的物理分析 说明.
import {
createPortableSearchAnalyzer,
encodeSqlToken,
highlightPortableText,
} from '@byline/search-analysis'
const analyzer = createPortableSearchAnalyzer({
defaultLocale: 'en',
hanLocale: 'zh',
})
const text = analyzer.analyzeText({
text: 'ฐานข้อมูล Node.js 数据库',
locale: 'th',
})
const query = analyzer.analyzeQuery({
query: '"forest restoration" database',
locale: 'en',
matching: { operator: 'all', phrase: 'auto' },
})
const physical = text.tokens.map((token) => encodeSqlToken(token))
const snippet = highlightPortableText({
text: 'A forest restoration field report.',
plan: query,
analyzer,
})
原始内容仍然具有权威性。 分析器输出是一次性的,
版本投影; analyzer.fingerprint 当行为可以改变时
影响索引术语变化.
highlightPortableText() 保留原始源文本并插入
<mark>…</mark> 精确、规范、扩大、识别符号和
汉字匹配. 制作人必须解析这些划界人,并制作
环绕内容为文本;它们不得将完整片段注入为
信任的 HTML .