duncanogle/boolean-search-parser

将布尔搜索逻辑转换为MySQL全文参数的一种方法

1.0.5 2016-01-19 11:44 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:44:24 UTC


README

Build Status

这个类的主要目的是将布尔搜索转换为MySQL全文搜索可以使用的内容。

这个想法是在最近大量使用布尔搜索系统之后产生的,并在阅读了这个StackOverflow问题之后,发现并没有什么现成的PHP库可以用于MySQL。

非常感谢PHP SQL Parser,它有一个如此棒的标记化器和相关方法,使得这个过程变得更容易。

目标

  • 提供足够好的转换
  • 不尝试纠正括号和引号等错误

注意

使用

$parser = new \DuncanOgle\BooleanSearchParser\Parser();

echo $parser->parse("ict OR (technology AND bob)");
// ict (+technology +bob)

关于顺序

顺序和括号很重要,通常情况下,OR逻辑优先级更高

sales OR finance AND manager 将变成 sales finance +manager,而不是 sales +finance +manager

待办事项

  • 处理 * 字符
  • 将其转换为可以通过composer拉取的包
  • 将测试迁移到PHP Unit
  • 添加自定义优先级设置(当前是 OR>AND>NOT)
  • 添加可选的词干提取器 如这里使用的

简单示例

复杂示例