engage/query-text-parser

此包的最新版本(dev-master)没有可用的许可信息。

查询文本解析库执行搜索查询文本解析

dev-master 2014-02-25 22:02 UTC

This package is not auto-updated.

Last update: 2024-09-24 06:55:42 UTC


README

Build Status

查询文本解析器

查询文本解析库执行搜索查询文本解析。

这允许你以自由文本形式编写搜索查询,并将其解析为机器可读的解析树。

该库已完全单元测试。

特性

  • AND/OR 运算符
  • 使用括号分组的查询,例如:(Denver AND Boston) OR Miami
  • 使用引号的多词搜索查询,例如:"San Francisco" AND Chicago

示例用法

$parser = new Engage\QueryTextParser\Parser;
$result = $parser->parse('(Chicago AND Houston) OR Phoenix');
print_r($result);

输出

Engage\QueryTextParser\Data\Group Object
(
    [type] => OR
    [children] => Array
        (
            [0] => Engage\QueryTextParser\Data\Group Object
                (
                    [type] => AND
                    [children] => Array
                        (
                            [0] => Engage\QueryTextParser\Data\Partial Object
                                (
                                    [text] => Chicago
                                    [negate] =>
                                )

                            [1] => Engage\QueryTextParser\Data\Partial Object
                                (
                                    [text] => Houston
                                    [negate] =>
                                )

                        )

                )

            [1] => Engage\QueryTextParser\Data\Partial Object
                (
                    [text] => Phoenix
                    [negate] =>
                )

        )

)

待办事项

  • 支持否定运算符(例如:NOT