glance-project / search-service
搜索服务
Requires
- cache/filesystem-adapter: ^1.1
- doctrine/dbal: ^2.13
- php-di/php-di: ^7.0
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)
将得到以下响应
{
"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)的主题。您可以在 这里 找到活动。