小编J.S*_*S.C的帖子

PostgreSQL(全文搜索)与 ElasticSearch

嗨,在将搜索功能应用到我的服务中之前,我正在做一些研究。我目前使用 PostgreSQL 作为我的主要存储。我绝对可以使用 PostgreSQL 的内置全文搜索,但问题是我的数据分散在几个表中。

我的服务是一个电子商务网站。因此,如果客户搜索“好苹果笔记本电脑”,我需要连接Brand表、post表和review表(1 个帖子是多个评论 + 简短摘要的组合)以完全搜索所有帖子。如果我使用 elasticsearch,我可以通过预处理插入完整的帖子。

根据我的研究,有人说 PostgreSQL 的 FTS 和 elasticsearch 性能相似,有人说 elasticsearch 更快。对于我的情况,哪个是更好的解决方案?

提前致谢

postgresql full-text-search elasticsearch

35
推荐指数
3
解决办法
2万
查看次数

GraphQL 枚举联合解决方法?

我有属于主要类别的主要类别和次要类别。两者都是 ENUM 类型。我希望客户选择匹配的次要类别 ENUM 与其主要类别一起提交。我不想将所有不同的次要类别 ENUM 作为字段包含在内。

我第一次尝试做 union MinorCategories = Minor1 | Minor2 但是这失败了,因为union只适用于ObjectTypes

没有必要根据主要类别强制执行次要类别。我只想通过 ENUM 接收一个可由客户端选择的字段。有什么解决办法吗?

enums graphql

15
推荐指数
1
解决办法
1382
查看次数

GraphQL 操场类型详细的多行注释?

我正在尝试使用 GraphQL 记录我的 API。对于可读性问题,我想在多行中留下评论,但它似乎不适用于常规的 '\n' 换行符

"""
  Return:\n true : DB save successful\n false : DB save unsuccessful
"""
Run Code Online (Sandbox Code Playgroud)

这是我试过的

但是它输出完全相同,而不在新行中放置行

Return:\n true : DB save successful\n false : DB save unsuccessful
Run Code Online (Sandbox Code Playgroud)

是否可以在新行中排列文本,例如:

Return:
 true : DB save successful
 false : DB save unsuccessful
Run Code Online (Sandbox Code Playgroud)

graphql graphql-playground

3
推荐指数
1
解决办法
3605
查看次数

原始 SQL 与 ORM 如果我已经了解 SQL

我目前正在使用 PostgreSQL 和 Nodejs。到目前为止,我已经使用原始 SQL 和pg驱动程序进行了开发。我预计我的服务在不久的将来会有相当多的记录。(10k+)

我对 SQL 与 ORM 做了一些研究,因为这不是一个新问题。据我了解,

SQL具有更好的性能,ORM增强了代码可读性,减少了代码长度,比SQL更容易学习。

这项研究http://www.diva-portal.org/smash/get/diva2:1014983/FULLTEXT02显示,当行数增加时,原始 SQL 和 ORM 之间的性能差异相当大。因为研究已经进行过Laravel ORM,我知道结果可能会有所不同nodejs ORM sequelize

我的代码很长,因为我的函数中有 SQL 字符串。如果我已经知道如何编写 SQL,我应该转向 ORM 吗?

补充:如果我要实现 ORM,因为我有一些复杂的查询连接和聚合多个表,如果我使用 ORM 进行简单查询SELECTINSERT使用原始 SQL 进行复杂查询,这会是一个糟糕的选择吗?

sql postgresql orm sequelize.js

1
推荐指数
1
解决办法
5542
查看次数