glance-project/search-service

搜索服务

v2.0.0 2024-05-16 06:16 UTC

This package is auto-updated.

Last update: 2024-08-29 13:48:07 UTC


README

搜索服务用于将布尔搜索生成的查询字符串转换为SQL过滤器

有关完整文档,请参阅以下链接: 实体搜索指南搜索服务指南

入门

开始之前,请确保您已在数据库上运行了迁移。它们可以在 `/example/migrations 文件夹中找到。不要忘记将 {{ HISTORY_SCHEMA_NAME }} 更改为您的历史模式名称,将 {{ SCHEMA_NAME }} 更改为您的主模式名称。在示例中,我们还插入了一个名为 surveys 的搜索类型。这与我们使用的示例SQL查询一致。

安装

要将搜索服务作为应用程序的依赖项之一进行安装,您可以运行以下命令

    composer require glance-project/search-service

设置

您需要设置SQL查询和搜索的.json配置文件。配置文件将用于定义属性、缓存位置、查找表以及SQL查询的位置,该查询将用于从数据库中检索数据。查询示例可以在 `/example/resources/survey-search.sql 文件夹中找到,配置文件示例可以在 /example/resources/surveys.json 文件夹中找到。

在配置文件中定义属性时,我们包括数据库中的列名,以及它们的类型(例如,“日期”)和兼容的运算符(例如,“包含”,“不包含”,“=”,“!=”)。

您还需要创建控制器并设置搜索服务的路由。示例可以在 `/example/Search/SearchController.php/example/Search/SearchRoutes.php 文件中找到。设置完成后,用户将能够保存、删除和查找他们保存的搜索(这就是为什么需要进行数据库迁移的原因)。

完成所有这些设置后,您就可以使用搜索服务了。对于客户端,请访问 此链接

使用搜索服务

`/example/Survey/Web/SurveyController.php` 文件中,您可以找到一个控制器如何与搜索服务通信的示例。一个示例GET请求看起来像这样

    'https://:8080/rp-survey/api/surveys/search?offset=0&limit=50&queryString=(%2B%22description%22%0A%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%3D%0A%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%22test%22%2B%2B)

(url解码后为 ` https://:8080/rp-survey/api/surveys/search?offset=0&limit=50&queryString=( "description" = "test" )```

将得到以下响应

{
	"results": [
		{
			"id": "1389",
			"description": "test",
			"comments": null,
			"magnetOn": "N",
			"magnetOnAsString": "No",
			"startedOn": "04-AUG-22 01.52.00.000000 PM",
			"startedOnAsString": "2022-08-04 13:52",
			"beamOffAt": "04-AUG-22 01.52.00.000000 PM",
			"beamOffAtAsString": "2022-08-04 13:52",
			"ramsesLogLink": null,
			"responsiblePersonsNames": "Carlos Brito"
		}
	],
	"numberOfResults": "1"
}

更多信息

该项目是第26届国际高能物理与核物理计算会议(CHEP 2023)的主题。您可以在 这里 找到活动。