如何在不使用许多端点的情况下构建 .net 搜索引擎?

How to build a .net search engine without using many endpoints?

我正在构建一个搜索引擎。我使用 angular、.net 和数据库 mssql。
问题是如何构建搜索引擎或进行搜索查询?
我试着做端点,但有很多,我不认为这是要走的路。
有人可以指导我,指出一些文章或可行的解决方案吗?

或者是否可以组合这些端点?

Sample Endpoints:
[HttpGet("searched/{term}")]
[HttpGet("searched/{categoryId}")]
[HttpGet("searched/{localization}")]

[HttpGet("searched/{localization}/{term}")]
[HttpGet("searched/{categoryId}/{localization}")]
[HttpGet("searched/{categoryId}/{subCategoryId}")]


[HttpGet("searched/{categoryId}/{subCategoryId}/{localization}")]
[HttpGet("searched/{categoryId}/{subCategoryId}/{term}")]


[HttpGet("searched/{categoryId}/{subCategoryId}/{localization}/{term}")]

如果这是我,我会采用单个参数,例如 keyword,然后再弄清楚是什么。

如果您有这些东西的集合,并且希望用户知道他们当时正在查询什么,您应该像这样构建您的端点 -

{controller}\{collection}?{key}={value}

在用户输入值作为查询的情况下,您应该将其作为查询的一部分接收,这意味着 ? 之后的键值对。 举个例子,假设我知道我想得到一个酒店列表,我的点可能看起来像 api\hotels,但如果我想得到一个特定的酒店,我可能会做类似 'api\hotels?hotelName=TheRitz'