pdima88 / phpcorrectquery
dev-master
2019-07-29 07:02 UTC
Requires (Dev)
- phpunit/phpunit: ~6
This package is auto-updated.
Last update: 2024-09-29 05:21:56 UTC
README
目的
- 搜索查询校正
- 校正现有和新文本,这些文本由网站访客发布。
特性
- 模式
SIMILAR_CHARS
。校正因键盘布局不同而错误输入的字母。在俄语和英语中,不明显的拉丁字母会被校正为俄语,反之亦然。该算法足够可靠且运行速度快。 - 模式
KEYBOARD_LAYOUT
。校正因键盘布局不同而错误输入的单词。使用 N-gram 来确定语言。算法有时可能会出错,比 SIMILAR_CHARS 慢得多。算法不断改进。为了保持质量,存在一个测试词集合,但它不包括在交付中。 - 对俄语和英语的双向单词校正。
- 对混合语言的单词进行校正。
- 字符编码 — Text\Util\UTF8。
- 类可以在没有
mbstring
和iconv
扩展的情况下运行!
示例
"\xd1\x81\xd0\xbesm\xd0\xbe" => 'cosmo' (2 первых и последняя буква — ошибочные)
"\x78\x70\x65н" => 'хрен' (первые 3 буквы — ошибочные)
"вебvfcnth" => 'вебмастер'
"webьфыеук" => 'webmaster'
"цццюмуыеш.ru" => 'www.vesti.ru'
"\x54.\x43.\x48\x61вка" => 'Т.С.Навка'
算法工作示例,用于具有自动补全功能的输入字段
- 根据原始查询从数据库中提取样本;
- 如果有结果,返回结果和原始查询;
- 否则通过
Text\Text_LangCorrect
校正原始查询; - 如果原始查询和校正后的查询相同,返回空结果和原始查询;
- 否则根据校正后的查询从数据库中提取样本;
- 返回结果。如果没有结果,返回原始查询,否则返回校正后的查询。