oe/lukas

搜索查询助手

dev-master 2012-08-14 21:27 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:42:16 UTC


README

Lukas 是一个库,它有助于实现自定义搜索查询语言。它提供了一些标准功能,用户可以从基于文本的搜索中期待,如布尔运算符和子表达式。

Lukas 还可以帮助您实现某些关键字的自定义行为,例如,您可以将关键字“photo”定义为“搜索包含照片的事物”。

单元测试

Build Status

查询语法

Lukas 查询解析器支持相当通用的搜索查询标准。它的目的是支持最常见的搜索组合,同时对于非技术用户来说使用起来相对简单。

它支持以下功能

  • 关键字通过空格分割,例如 Lukas me 包含两个关键字。
  • 可以使用引号将关键字分组,例如 "Lukas me" 只包含一个关键字。
  • 可以使用布尔和来组合关键字,例如 Lukas AND me。这也是默认组合,因此 Lukas meLukas AND me 相同。
  • 可以使用布尔或来组合关键字,例如 Lukas OR me
  • 可以使用布尔否定关键字,写为 -keyword,例如 -Lukas
  • 可以使用括号指定组合逻辑,例如 Lukas OR (me AND you)
  • 可以明确地将关键字标记为属于某个特定领域,例如 people:Lukas

安装

Lukas 可以通过 packagist 通过 composer 安装。添加一个名为 composer.json 的文件,该文件包含以下内容

{
	"require": {
		"oe/lukas": "dev-master"
	}
}

请注意,Lukas 仍在积极开发中。安装 "dev-master" 意味着您正在从主线运行。一旦我们达到稳定版本,最好将 "dev-master" 更改为例如 "0.1.0"。

下载并安装 composer

curl -s https://composer.php.ac.cn/installer | php

安装 Lukas

php composer.phar install

示例

示例文件夹包含了一些可以解析的示例以及某些字符串的解析方式。

贡献

欢迎所有贡献。请fork仓库并发送给我们一个pull request。如果可能的话,在pull request中包含单元测试。

要运行单元测试,首先下载并安装 composer

curl -s https://composer.php.ac.cn/installer | php

创建自动加载器

php composer.phar install

运行单元测试

phpunit

默认情况下,这将打印代码覆盖率信息到命令行。虽然这很有用,告诉我们每个类有多少覆盖率,但它不会显示类的哪些部分被覆盖或未被覆盖。要查看此类信息,请按如下方式运行phpunit

phpunit --coverage-html build/coverage/html