我想知道推荐的分割搜索端点的方法是什么。 我们是否应该按实体划分搜索?
让我们假设我们有两个实体。
- 用户实体,存储在用户表中的数据库中。 可以通过以下URL进行访问
GET /api/users/{userId}
- 联系信息实体,存储在数据库中的用户contact_info中。 可以通过以下URL访问
GET /api/users/{userId}/contact-info
然后,我们要添加对复杂搜索的支持。
- 每个实体有两个单独的端点更好吗?
这样我们就可以清楚地分开角落了。
例如:
POST /api/users/_search
POST /api/users/contact-info/_search
- 还是拥有一个搜索端点会更好,因为这些实体是相关的?
POST /api/users/_search
但是,我担心这个端点会变得肿,并且常常变得混乱。特别是,从后端的角度来看,支持该端点的存储过程往往变得非常复杂且容易出错。
创建新的搜索端点时是否存在某种经验法则?
谢谢您的时间。